leetcode 135. Candy
2017-11-27 10:01
337 查看
135. Candy
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?
本题的关键在于如果ratings小,那么拿到的candy就比两边少,所以应该想到左右两个方向各来一次遍历。
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?
本题的关键在于如果ratings小,那么拿到的candy就比两边少,所以应该想到左右两个方向各来一次遍历。
class Solution { public: int candy(vector<int>& ratings) { int n = ratings.size(); vector<int> A(n, 1); for (int i = 1; i < n; i++) { if (ratings[i] > ratings[i-1]) A[i] = A[i-1] + 1; } for (int i = n - 2; i >= 0; i--) { if (ratings[i] > ratings[i+1] && A[i] < A[i+1] + 1) A[i] = A[i+1] + 1; } return accumulate(A.begin(), A.end(), 0); } };
相关文章推荐
- 【leetcode】135. Candy【java】
- leetcode题解-135. Candy
- leetcode-135. Candy
- LeetCode 135. Candy(糖果)
- [Leetcode] 135. Candy
- 135. Candy Leetcode Python
- [算法分析与设计] leetcode 每周一题: 135. Candy
- (Java) LeetCode 135. Candy —— 分发糖果
- [leetcode] 135. Candy 解题报告
- [leetcode] 【数组】 135. Candy
- [Leetcode] 135. Candy 解题报告
- LeetCode 135. Candy
- LeetCode力扣之135. Candy
- [LeetCode] 135. Candy
- [leetcode] 135. Candy
- 【LeetCode】135. Candy
- LeetCode-135. Candy (JAVA)根据等级分糖果
- leetcode 135. Candy
- LeetCode 135. Candy
- 第十一周 leetcode 135. Candy(Hard)