leetcode03 貪心演算法

2021-10-19 11:35:39 字數 1179 閱讀 1047

貪婪演算法(greedy method)中,我們要逐步構造乙個最優解。每一步,我們都在一定的標準下,做出乙個最優決策。做出決策所依據的標準稱為貪心準則(greedy criterion)

貪心演算法是指,在對問題求解時,總是做出在當前看來是最好的選擇

也就是說,不從整體最優上加以考慮,他所做出的僅是在某種意義上的區域性最優解

假設1元、2元、5元、10元、20元、50元、100元的紙幣。現在要用這些錢來找給顧客k=628元,怎麼用數目最少的錢來找零?

盡可能使用面值比較大的鈔票

#include

intmain()

;//所有面值的

int num=7;

//共有7種面額

int count=0;

int x=

628;

for(

int i=

0;i)printf

("總共需要%d張rmb\n"

,count)

;return0;

}

假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。

對每個孩子 i,都有乙個胃口值 g[i],這是能讓孩子們滿足胃口的餅乾的最小尺寸;並且每塊餅乾 j,都有乙個尺寸 s[j] 。如果 s[j] >= g[i],我們可以將這個餅乾 j 分配給孩子 i ,這個孩子會得到滿足。你的目標是盡可能滿足越多數量的孩子,並輸出這個最大數值。

1.某個糖果不能滿足某個孩子,就不能滿足需求更大的

2.某個孩子可以用更小的糖果滿足,不需要用更大的糖果

3.孩子的需求更小更容易滿足,因此優先從需求因子小的孩子開始嘗試

#include#includeusing namespace std;

class solution

cookie++;//無論成功還是失敗,每個糖果只嘗試一次,cookie向後移動

}return child;//最終滿足的孩子數

}};

貪心演算法(leetcode)

1 分糖果 455 用最小的糖果大小滿足需求最小的孩子 class solution else return count 2 搖擺序列 376 遍歷一次,儲存乙個狀態,如果狀態為上公升,變為下降,則長度 1,下降變上公升 1 class solution def wigglemaxlength se...

LeetCode 貪心演算法

12.15 135.12.21 435.假設你是一位很棒的家長,想要給你的孩子們一些小餅乾。但是,每個孩子最多只能給一塊餅乾。對每個孩子 i,都有乙個胃口值 g i 這是能讓孩子們滿足胃口的餅乾的最小尺寸 並且每塊餅乾 j,都有乙個尺寸 s j 如果 s j g i 我們可以將這個餅乾 j 分配給孩...

leetcode 貪心演算法

貪心演算法中,是以自頂向下的方式使用最優子結構,貪心演算法會先做選擇,在當時看起來是最優的選擇,然後再求解乙個結果的子問題。貪心演算法是使所做的選擇看起來都是當前最佳的,期望通過所做的區域性最優選擇來產生乙個全域性最優解 如最小生成樹 dijkstra單源最短路徑 貪心選擇性質 所謂貪心選擇性質是指...