135. Candy
2016-09-04 16:44
162 查看
There are N children standing in a line. Each child is assigned a rating value.
You are giving candies to these children subjected to the following requirements:
Each child must have at least one candy.
Children with a higher rating get more candies than their neighbors.
What is the minimum candies you must give?
求需要发的最小的糖果数。要求每个小孩都要有一颗,并且等级高的小孩要比旁边的多。这里要注意相邻的同等级的糖果数可以不一样。对给出的等级vector,正向遍历一次,反向遍历一次就能得到答案。纪念第一次100%。。。
代码:
You are giving candies to these children subjected to the following requirements:
Each child must have at least one candy.
Children with a higher rating get more candies than their neighbors.
What is the minimum candies you must give?
求需要发的最小的糖果数。要求每个小孩都要有一颗,并且等级高的小孩要比旁边的多。这里要注意相邻的同等级的糖果数可以不一样。对给出的等级vector,正向遍历一次,反向遍历一次就能得到答案。纪念第一次100%。。。
代码:
class Solution { public: int candy(vector<int>& ratings) { int res=0,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 i=n-2;i>=0;i--) { if(ratings[i]>ratings[i+1]) { nums[i]=max(nums[i+1]+1,nums[i]); } } for(int i=0;i<n;i++) { res+=nums[i]; } return res; } };
相关文章推荐
- 【LeetCode】135. Candy
- LeetCode 135. Candy
- LeetCode 135. Candy
- [Leetcode] 135. Candy 解题报告
- [算法分析与设计] leetcode 每周一题: 135. Candy
- Leetcode 135. Candy
- 135. Candy Leetcode Python
- [leetcode] 【数组】 135. Candy
- 135. Candy
- Leetcode 135. Candy
- leetcode题解-135. Candy
- leetcode 135. Candy
- LeetCode 135. Candy (O(n)时间 O(n)和O(1)空间的两种实现)
- Hard-题目34:135. Candy
- 135. Candy 考验逻辑能力的时候到了
- [Leetcode] 135. Candy
- 135. Candy
- leetcode 135. Candy
- [Leetcode] 135. Candy
- 135. Candy