[LeetCode]Candy

来源:互联网 发布:免费查海关数据的网站 编辑:程序博客网 时间:2024/05/16 23:02
class Solution {public:    int candy(vector<int> &ratings) {        // Note: The Solution object is instantiated only once and is reused by each test case.        vector<int> candyNum(ratings.size(), 1);        //1. forward         int n = ratings.size();        int curCnt = 0;        for(int i = 1; i < n; ++i)        {            if(ratings[i] > ratings[i-1]) curCnt++, candyNum[i] = curCnt+1;            else curCnt = 0, candyNum[i] = curCnt+1;        }            //2. backward        curCnt = 0;        for(int i = n-2; i >= 0; --i)        {            if(ratings[i] > ratings[i+1]) curCnt++, candyNum[i] = max(candyNum[i], curCnt+1);            else curCnt = 0, candyNum[i] = max(candyNum[i], curCnt+1);        }        //3. get sum        int sum = 0;        for(int i = 0; i < n; ++i)            sum += candyNum[i];        return sum;    }};

原创粉丝点击