leetcode 貪心演算法1338 455

2021-10-07 12:59:19 字數 786 閱讀 3432

嘗試證明------->可以用貪心

找反證--------->證明不可以用貪心

如果沒有別的做法,就相信他是貪心,接下來就多加練習

題面出現 』最『 或者等價的字可能是貪心

貪心的題目一定有 』 最『 字

貪心往往伴隨著排序(因為排序就潛在的定義了 貪心提到的 』 好『 )

1338 陣列大小減半

class solution:

def minsetsize(self, arr: list[int]) -> int:

count_total = 0

for i,count in enumerate(sorted(collections.counter(arr).values(),reverse = true)):

count_total += count

if count_total >= len(arr) / 2:

return i + 1

455. 分發餅乾

class solution:

def findcontentchildren(self, g, s):

g.sort(reverse = true)

s.sort(reverse = true)

i = j = 0

while i < len(g) and j < len(s):

if g[i] <= s[j]:

j += 1

i += 1

return j

貪心演算法(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單源最短路徑 貪心選擇性質 所謂貪心選擇性質是指...