LeetCode: Candy
2014-05-07 00:00
501 查看
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?
使用迭代的方法, 时间复杂度 O(n),空间复杂度 O(n)
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?
使用迭代的方法, 时间复杂度 O(n),空间复杂度 O(n)
// LeetCode, Candy // 时间复杂度 O(n),空间复杂度 O(n) class Solution { public: int candy(vector &ratings) { const int n = ratings.size(); vector increment(n); // 左右各扫描一遍 for (int i = 1, inc = 1; i < n; i++) { if (ratings[i] > ratings[i - 1]) increment[i] = max(inc++, increment[i]); else inc = 1; } for (int i = n - 2, inc = 1; i >= 0; i--) { if (ratings[i] > ratings[i + 1]) increment[i] = max(inc++, increment[i]); else inc = 1; } // 初始值为 n,因为每个小朋友至少一颗糖 return accumulate(&increment[0], &increment[0]+n, n); } };
相关文章推荐
- LeetCode:Candy
- LeetCode139: Candy
- Leetcode 135 Candy
- [LeetCode][Java] Candy
- leetCode---Candy
- candy leetcode
- LEETCODE: Candy
- 【Leetcode】Candy
- leetcode: Candy
- Leetcode:Candy
- leetcode-Candy(2014.2.25)
- [LeetCode] 发糖果 Candy
- leetcode -day9 Candy & Gas Station & Binary Tree Maximum Path Sum
- 【LeetCode】Candy
- 【leetcode】Candy(python)
- LeetCode-Candy-分糖果-逻辑关系
- [LeetCode] Candy
- leetcode — candy
- LeetCode:Candy
- 【leetcode】candy