一、概念
贪心算法的核心思想是,在处理一个大问题时,划分为多个局部并在每个局部选择最优解,并且认为在每个局部选择最优解,那么最后全局的问题得到的就是最优解。
贪心算法可以解决一些问题,但是不适用于所有问题,也不保证使用贪心算法得出的就是最优解。
维基百科更详细的解释:

二、分配问题
先来看一道简单的分配问题:
力扣
https://leetcode.cn/problems/assign-cookies/解题思路:
孩子的胃口值需要小于等于饼干大小,根据贪心算法的局部最优解的思想,就是给每个孩子分配能满足她胃口的最小的饼干,且应该优先处理胃口小的孩子。
C++代码:
class Solution {
public:
int findContentChildren(vector<int>& g, vector<int>& s) {
sort(g.begin(), g.end

文章介绍了贪心算法的基本思想,即通过局部最优解寻求全局最优解,并通过两个具体的力扣编程题目——饼干分配和糖果问题——展示了贪心算法的解题策略。在饼干分配问题中,按孩子胃口和饼干大小排序实现分配;在糖果问题中,通过两次遍历评分数组确保每个孩子至少与相邻孩子一样多的糖果。
最低0.47元/天 解锁文章
1904

被折叠的 条评论
为什么被折叠?



