目录
1.问题介绍
1.1.题面
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。
你需要按照以下要求,给这些孩子分发糖果:
每个孩子至少分配到 1 个糖果。
相邻两个孩子评分更高的孩子会获得更多的糖果。
请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。其中:
n == ratings.length
1 <= n <= 2 * 104
0 <= ratings[i] <= 2 * 104
1.2.解读
要给排成一列的孩子发糖果。规则有两个:一是保底:每个孩子至少1颗糖果;二是公平:相邻孩子中评分更高的必须拿到更多糖果。这里面的关键矛盾点在于,如果只关注左边或右边,容易顾此失彼。比如某个孩子可能同时比左边和右边的孩子评分高,这时候需要从两个方向确保公平。
2.解题思路分析
这个问题适合使