您的位置:首页 > 其它

LeetCode-Candy-分糖果-逻辑关系

2014-10-16 22:21 337 查看
https://oj.leetcode.com/problems/candy/

两遍扫面,第一遍保证ci与ci-1的关系能够保证满足分数大小。第二遍保证ci与ci+1关系能够保证。注意顺序一定要是比较当前与上次更新过的结果。不能由于本次的更新影响以后不会扫描的结果。

class Solution {
public:
int n,m;
vector <int> r;
vector <int> c;
int candy(vector<int> &ratings) {
n=ratings.size();
r=ratings;
c.resize(n,1);
for (int i=1;i<n;i++) {
if(r[i]>r[i-1] && c[i]<=c[i-1]) c[i]=c[i-1]+1;
}
for (int i=n-2;i>=0;i--) {
if(r[i]>r[i+1] && c[i]<=c[i+1]) c[i]=c[i+1]+1;
}
return accumulate(c.begin(),c.end(),0);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: