class Solution {
public:
bool check(vector<int> &rate,vector<int> &num)
{
int length=rate.size();
for(int i=1;i<length-1;i++)
{
if(rate[i]>rate[i-1] && rate[i]>rate[i+1] && (num[i]<=num[i-1] || num[i]<=num[i]+1))
return false;
}
return true;
}
int candy(vector<int> &ratings) {
int length=ratings.size();
vector<int> candy(length,1);
do
{
for(int i=1;i<length;i++)
{
if(ratings[i]>ratings[i-1] && ratings[i]>ratings[i+1]) candy[i]+1;
}
}while(!check(ratings,candy));
int sum=0;
for(int i=0;i<length;i++)
sum+=candy[i];
return sum;
}
};
leetcode_135_Candy_贪心
最新推荐文章于 2024-05-20 21:47:59 发布