贪心算法理解
贪心算法的定义:
顾名思义贪心算法是采用贪心思想或者贪心策略,来保证每次操作都是局部最优解,从而使得到的结果是全局最优解。
分配问题:
有一群孩子和一堆饼干,每个孩子都有一个饥饿度,每个饼干都有一个大小,每个孩子最多只能吃一个饼干,并且只有饼干的大小大于或等于孩子的饥饿度,这孩子才能吃饱,求解最多有多少孩子能吃饱。
解题思路:
因为饥饿度最小的孩子最容易吃饱,所以我们会优先考虑这个孩子。为了尽量使剩下的饼干可以满足饥饿度更大的孩子,所以我们应该把大于等于这个孩子的饥饿度、且大小最小的饼干分给这个孩子,满足这个孩子后,我们采用同样的策略,考虑剩下孩子里饥饿度最小的孩子,直到没有满足条件的饼干存在。
简而言之,这里的贪心策略就是给孩子里饥饿度最小的孩子分配最小的能饱腹的饼干。
class Solution(object):
def findContentChildren(self,g, s):
g.sort()
s.sort()
child=0
cookie=0
贪心算法理解最先出现在Python成神之路。
共有 0 条评论