当前位置:网站首页>[allocation problem] 135 Distribute candy
[allocation problem] 135 Distribute candy
2022-07-05 05:15:00 【lee2813】
One 、 subject
n Two kids in a row . Give you an array of integers ratings Indicates the score of each child .
You need to follow these requirements , Distribute candy to these children :
Each child is assigned at least 1 A candy .
Children with higher scores from two adjacent children will get more candy .
Please distribute candy to each child , Calculate and return what needs to be prepared Minimum number of sweets .
Example 1:
Input :ratings = [1,0,2]
Output :5
explain : You can give the first one separately 、 the second 、 The third child distributed 2、1、2 Candy .
Example 2:
Input :ratings = [1,2,2]
Output :4
explain : You can give the first one separately 、 the second 、 The third child distributed 1、2、1 Candy .
The third child only got 1 Candy , This satisfies two conditions in the problem surface .
Tips :
n == ratings.length
1 <= n <= 2 * 104
0 <= ratings[i] <= 2 * 104
Two 、 Answer key
Here with 455 equally , There are relatively greedy strategies , But there is no need to sort and select , Because the title here requires comparison with adjacent elements , So we can rely on two iterations to operate .
First , Because every child must have a candy , So we define a candy allocation array with a value of one .
Then traverse for the first time : Traversing from front to back , If the corresponding score of this position is larger than that of the previous position , Then the candy allocation array value of this position is the candy allocation array value of the previous position plus one . Second traversal : Go back and forth , If the corresponding score of this position is larger than that of the next position , Then the array value of candy allocation in this position should also be the array value of candy allocation in the next position plus one , However, after the first traversal, the candy allocation value at this position may be greater than that at the previous position . At this time, it meets the requirements of the topic , No operation . So we should compare these two situations , Taking the maximum . Until the traversal is complete .
Last , Sum the values of the candy allocation array , Get the total number of sweets that need to be distributed at least .
3、 ... and 、 Code
class Solution {
public:
int candy(vector<int>& ratings) {
int n=ratings.size();
vector<int> nums(n,1);
for(int i=1;i<n;i++){
if(ratings[i]>ratings[i-1]) nums[i]=nums[i-1]+1;
}
for(int j=n-1;j>0;j--){
if(ratings[j-1]>ratings[j]&&nums[j-1]<=nums[j])
nums[j-1]=max(nums[j]+1,nums[j-1]);
}
return accumulate(nums.begin(),nums.end(),0);
}
};
边栏推荐
- 远程升级怕截胡?详解FOTA安全升级
- 小程序直播+电商,想做新零售电商就用它吧!
- FVP和Juno平台的Memory Layout介绍
- Unity enables mobile phone vibration
- Unity card flipping effect
- Optimization scheme of win10 virtual machine cluster
- 2022/7/2 question summary
- Transport connection management of TCP
- China needle coke industry development research and investment value report (2022 Edition)
- 2020-10-27
猜你喜欢

2022年上半年国家教师资格证考试

Collapse of adjacent vertical outer margins

3dsmax snaps to frozen objects

Download and use of font icons

用 Jmeter 工具做个小型压力测试

Unity parallax infinite scrolling background

Unity3d learning notes

PostgreSQL surpasses mysql, and the salary of "the best programming language in the world" is low

嵌入式数据库开发编程(零)

《动手学深度学习》学习笔记
随机推荐
How to choose a panoramic camera that suits you?
Cocos create Jiugongge pictures
cocos_ Lua listview loads too much data
Simple HelloWorld color change
JVM call not used once in ten years
SDEI初探-透过事务看本质
Unity check whether the two objects have obstacles by ray
2020-10-27
[paper notes] multi goal reinforcement learning: challenging robotics environments and request for research
Recherche de mots pour leetcode (solution rétrospective)
Applet live + e-commerce, if you want to be a new retail e-commerce, use it!
2022/7/1 learning summary
2022/7/2 question summary
Solon Logging 插件的添加器级别控制和日志器的级别控制
Optimization scheme of win10 virtual machine cluster
MD5 bypass
3dsmax common commands
Download xftp7 and xshell7 (official website)
Panel panel of UI
Unity and database