一、概念
贪心算法的核心思想是,在处理一个大问题时,划分为多个局部并在每个局部选择最优解,并且认为在每个局部选择最优解,那么最后全局的问题得到的就是最优解。
贪心算法可以解决一些问题,但是不适用于所有问题,也不保证使用贪心算法得出的就是最优解。
维基百科更详细的解释:
二、分配问题
先来看一道简单的分配问题:
力扣https://leetcode.cn/problems/assign-cookies/解题思路:
孩子的胃口值需要小于等于饼干大小,根据贪心算法的局部最优解的思想,就是给每个孩子分配能满足她胃口的最小的饼干,且应该优先处理胃口小的孩子。
C++代码:
class Solution {
public:
int fi