Python 算法教程(31):贪心算法基础
前言
贪心算法是每次做出局部最优选择,期望达到全局最优。
一、核心思想
每一步都选择当前最优解,不回溯。
二、适用条件
- 贪心选择性质
- 最优子结构
三、经典例题:分发饼干
def findContentChildren(g, s):
g.sort() # 孩子胃口
s.sort() # 饼干大小
i = 0
for cookie in s:
if i < len(g) and g[i] <= cookie:
i += 1
return i
四、复杂度
时间:O(n log n),空间:O(1)
五、LeetCode 实战
455. 分发饼干、121. 买卖股票最佳时机
总结
贪心算法简单高效,但需要证明正确性。
下一篇:区间调度问题
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







