贪心算法的意思是,非常短视,就看局部最优解
分发饼干
https://leetcode-cn.com/problems/assign-cookies/description
这是一个最简单的例子
给小孩子们分饼干,小孩有胃口,一口气能吃的饼干 大小是 g 这个数组,
饼干也有大小, 是s 这个数组
必须满足尽可能多的孩子,也就是,比如用大于等于 孩子胃口的 那个size 的饼干去喂孩子
解决办法
给 g 和 s ,aka 小孩的胃口 和 饼干 size 排序
然后一个个喂给尽可能多的小孩
class Solution:
def findContentChildren(self, g: List[int], s: List[int]) -> int:
g.sort()
s.sort()
lenOfGreedyKids = len(g)
lenOfCookies = len(s)
indOfKids = indOfCookies = retCount = 0
while indOfKids < lenOfGreedyKids and indOfCookies < lenOfCookies:
while indOfCookies < lenOfCookies and g[indOfKids] > s[indOfCookies]:
indOfCookies+=1
if indOfCookies < lenOfCookies:
retCount+=1
indOfCookies+=1
indOfKids+=1
return retCount
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/assign-cookies/solution/fen-fa-bing-gan-by-leetcode-solution-50se/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
其他的 一些题目
- https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/description/
- https://leetcode.com/problems/lemonade-change/description/
- https://leetcode.com/problems/walking-robot-simulation/description/