LeetCode 135.分发糖果
发布时间:2023-09-08 15:02:24 185
相关标签:
LeetCode 135.分发糖果题目地址:
https://leetcode-cn.com/problems/candy/
题目描述:
老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。
你需要按照以下要求,帮助老师给这些孩子分发糖果:
1. 每个孩子至少分配到 1 个糖果。
2. 评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。
那么这样下来,老师至少需要准备多少颗糖果呢?
示例 1:
输入:[1,0,2]
输出:5
解释:你可以分别给这三个孩子分发 2、1、2 颗糖果。
示例 2:
输入:[1,2,2]
输出:4
解释:你可以分别给这三个孩子分发 1、2、1 颗糖果。
第三个孩子只得到 1 颗糖果,这已满足上述两个条件。
题目分析:
输入为一个数组,数组存放每个孩子的评分,分数比两侧邻位孩子高的,分发的糖果应该比两侧邻位的孩子更多。每个孩子至少分配一个糖果,所以我们可以先给每个孩子获得的糖果数赋值为1,然后从左到右遍历一次,右边孩子评分比左边孩子评分高的,右边孩子糖果数更新为左边孩子糖果数加一。最后再从右到左遍历一次,左边孩子评分比右边孩子评分高的,且左边孩子当前的糖果数不大于右边孩子的糖果数,左边孩子糖果数更新为右边孩子糖果数加一。
题解:
执行用时: 2 ms
内存消耗: 39.5 MB
题目来源:力扣(LeetCode)
文章来源: https://blog.51cto.com/u_15891283/5886655
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报