關於貪心演算法的心得體會

2021-10-04 01:46:16 字數 1313 閱讀 7080

本人一向對數字處理一類的演算法知識點不夠敏感,於是痛定思痛,從leetcode上面刷了一段時間之後,寫這篇部落格來記錄和分享自己的體會。

顧名思義,就是用貪心演算法解決題目時,只考慮區域性最優解,換言之,要用貪心演算法解題,就要保證該問題的整體最優解可化分為乙個個區域性最優解,(這也是最難的一點)

較為簡單一類的貪心就是像1.分發餅乾,2.硬幣找零

等問題,能較為直接的看出每一步。

例)錢幣找零問題

假設1元、2元、5元、10元、20元、50元、100元的紙幣分別有c0, c1, c2, c3, c4, c5, c6張。現在要用這些錢來支付k元,至少要用多少張紙幣?

用直覺就能分析出要使紙幣最少,就先用大面值來支付。

#include

#include

using

namespace std;

const

int n=7;

int count[n]=;

int value[n]=;

intsolve

(int money)

if(money>

0) num=-1

;return num;

}int

main()

例2) 跳躍遊戲

給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。

輸入:[2

,3,1

,1,4

]輸出:

true

解釋: 我們可以先跳 1 步,從位置 0 到達 位置 1

, 然後再從位置 1 跳 3 步到達最後乙個位置。

分析

這題有兩種解法,一種是暴力法,即從a[0]依次用遞迴開始找到最後,但這樣容易超時,不推薦使用。

第二種就是,我們可以用貪心,想到從末尾開始,依次判斷從當前點能否到達終點,**如下

#include

using

namespace std;

int a[

100]

;int

main()

for(

int i=n-

1;i>=

0;i--

) cout<1:0;

return0;

}

以上就是最近的總結體會,歡迎指正

PHP PDO 心得體會

關於pdo 我想可以不用做過多的描述,寫一寫最近的使用心得體會 首先 關於如何使用pdo 連線到資料庫 dbms mysql 使用的資料庫 host localhost 選擇的主機 dbname test 選擇的資料庫 user root 登陸的使用者名稱 password 使用者密碼 dsn dm...

銷售心得體會

銷售思維的培養 1.裝可憐讓客戶動惻隱之心是一種方法但是不適合男人 2.身處高位的銷售領導往往擁有給客戶的折扣和動用資源的優勢,不要當綠葉,要按兵不動尋找時機 3.市場上的大客戶與哪家合作就會成為標桿事件,哪家公司就會成為一線公司。4.站在客戶的角度,在業務上給予中肯的意見,得到客戶的感謝和認可。5...

面試心得體會

最近開發人手短缺成了大問題,因此招人也成了乙個重要任務。通過這幾天的面試,對這方面有了一些心得體會。一是it企業需要哪方面素質的人才。我感覺關鍵有兩條,一是能幹活,二是能合作。企業為什麼青睞有經驗的人?因為來了就能幹活。當然對於學生而言,經驗缺乏是一大缺陷,這就要展現另一方面 我具備成為幹活能手的能...