[LeetCode] Candy
2014-04-02 21:48
148 查看
int candySolution(vector<int> &ratings) { if(ratings.empty()) return 0; int n = ratings.size(); vector<int> candyNum(n); //这里不能用for(auto x:candyNum) x=1;这样无法修改candyNum的值的。 for(int i=0; i<n; i++) { candyNum[i] = 1; } for(int i=1; i<n; i++) { if(ratings[i-1]<ratings[i]) candyNum[i] = candyNum[i-1]+1; } //应付权值诸如 1 3 4 2 1 3这样的例子 //正确的分配结果应该是1 2 3 2 1 2 for(int i=n-2; i>=0; i--) { if(ratings[i+1]<ratings[i] && candyNum[i]<(candyNum[i+1]+1)) candyNum[i] = candyNum[i+1]+1; } int sum = 0; for(int i=0; i<n; i++) sum += candyNum[i]; return sum; }
相关文章推荐
- leetcode:candy
- 【leetcode】Candy
- [leetcode] Candy
- 开始leetcode day9:Candy
- candy-leetcode :只需要遍历一遍的解法
- [LeetCode] Candy
- leetcode_Candy
- LeetCode: Candy [135]
- LeetCode || Candy
- LeetCode 135:candy 题解 Python
- LeetCode 135 Candy (贪心 构造)
- Leetcode | Candy
- [LeetCode]Candy
- https://leetcode.com/problems/candy/
- 【LeetCode with Python】 Candy
- Candy -- leetcode
- LeetCode: Candy
- Leetcode: Candy
- LeetCode Candy
- Candy [leetcode] O(n)时间复杂度,O(1)空间复杂度的方法