leetcodd之candy的前后扫描得结果

来源:互联网 发布:微信自媒体 知乎 编辑:程序博客网 时间:2024/06/07 15:49

经典的模式,前后扫描即可得结果:

class Solution {public:    int candy(vector<int> &ratings) {        int n=ratings.size();        vector<int> plus(n);        for(int i=1,cur=1;i<n;i++){            if(ratings[i]>ratings[i-1])                plus[i]=max(cur++,plus[i]);            else                cur=1;        }        for(int i=n-2,cur=1;i>=0;i--){            if(ratings[i]>ratings[i+1])                plus[i]=max(cur++,plus[i]);            else                cur=1;        }        return accumulate(&plus[0],&plus[0]+n,n);    }};


0 0
原创粉丝点击