[leetcode] Candy
2014-08-15 23:54
281 查看
Candy
使用递归
使用递归
class Solution { public: int candy(vector<int> &ratings) { vector<int> fun(ratings.size()); int sum=0; for(int i=0;i<ratings.size();++i){ sum+=solve(ratings,fun,i); } return sum; } int solve(const vector<int> &ratings,vector<int> &fun,int i){ if(fun[i]==0){ fun[i]=1;//至少一个 if(i>0&&ratings[i]>ratings[i-1]){ fun[i]=max(fun[i],solve(ratings,fun,i-1)+1);//至少多一个 } if(i<ratings.size()-1&&ratings[i]>ratings[i+1]){ fun[i]=max(fun[i],solve(ratings,fun,i+1)+1); } } return fun[i]; } };
相关文章推荐
- leetcode刷题系列C++-candy
- 【Leetcode】Candy
- 【LeetCode 135】Candy (Python)
- leetcode:candy
- leetcode-Candy(2014.2.25)
- LeetCode:Candy
- [leetcode]Candy @ Python
- [LeetCode] Candy
- 6 Candy_Leetcode
- [leetcode] Candy
- candy leetcode
- leetcode 之Candy(12)
- LeetCode:Candy
- Java for LeetCode 135 Candy
- LeetCode: Candy
- [LeetCode] Candy (分糖果),时间复杂度O(n),空间复杂度为O(1),且只需遍历一次的实现
- [leetcode] Candy
- Leetcode:Candy
- [LeetCode] Candy
- [Leetcode] Candy