以下内容为作者高畅所有
2.1 算法解释
顾名思义,贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最 后得到的结果是全局最优的。 举一个最简单的例子:小明和小王喜欢吃苹果,小明可以吃五个,小王可以吃三个。已知苹 果园里有吃不完的苹果,求小明和小王一共最多吃多少个苹果。在这个例子中,我们可以选用的 贪心策略为,每个人吃自己能吃的最多数量的苹果,这在每个人身上都是局部最优的。又因为全 局结果是局部结果的简单求和,且局部结果互不相干,因此局部最优的策略也同样是全局最优的 策略。
2.2 分配问题
:题目描述 有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃 最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩 子可以吃饱。 :输入输出样例 输入两个数组,分别代表孩子的饥饿度和饼干的大小。输出最多有多少孩子可以吃饱的数 量。 Input: [1,2], [1,2,3] Output: 2
2.3 区间问题
:题目描述 给定多个区间,计算让这些区间互不重叠所需要移除区间的最少个数。起止相连不算重叠。 :输入输出样例 输入是一个数组,数组由多个长度固定为 2 的数组组成,表示区间的开始和结尾。输出一个 整数,表示需要移除的区间数量。 Input: [[1,2], [2,4], [1,3]] Output: 1
解法的关键:找到贪心的点在哪里?有点逻辑思维的算法题
|