贪心算法—LeetCode135.分发糖果

 

首先,为大家介绍一下贪心算法的核心思想:保证每次操作都是局部最优,从而使最终得到的结果最优。这种结果并不是必然的,但是往往是正确的,原因是:在很多的情况中,全局最优即为局部最优的简单求和。
接下来以leetcode中的一道题目为例:

题目描述:
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。
你需要按照以下要求,给这些孩子分发糖果:
每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。
请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。

 
题目给出的条件非常明确,我们已有的信息就是ratings数组,而需要达到的要求有两个:
1、每个孩子分有一个糖果
2、相邻两个孩子评分更高的孩子会获得更多的苹果

我一直比较提倡的是先理清整个思路、确定算法的可行性之后,再开始操作,但在这里为了方便对应相关代码,我直接将最终思路写在这里了,但我还是建议大家先理清思路后,再开始操作,可以省去很多不必要的麻烦。
接下来,我们对题目进行分析:
第一个条

贪心算法—LeetCode135.分发糖果最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/17281.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>