class Solution {
public:
int candy(vector<int> &ratings) {
int n = ratings.size();
int c = 1;
int * num = new int[n];
num[0] = 1;
for(int i = 1; i < n; i++)
{
c = 1;
if(ratings[i] > ratings[i-1])
c = num[i-1]+1;
num[i] = c;
}
for(int i = n-2; i >= 0; i--)
{
if(ratings[i] > ratings[i+1])
num[i] = max(num[i+1]+1,num[i]);
}
int sum = 0;
for(int i = 0; i < n;i++)
{
sum += num[i];
}
delete [] num;
return sum;
}
};
leetcode:Candy
最新推荐文章于 2021-01-09 13:08:34 发布