412. Candy
class Solution {
public:
/**
* @param ratings: Children's ratings
* @return: the minimum candies you must give
*/
int candy(vector<int> &ratings) {
// write your code here
const int size = ratings.size();
if(size == 0){
return 0;
}
vector<int> candy(size, 1);
for(int i = 1; i < size; i++){
if(ratings[i] > ratings[i - 1]){
candy[i] = candy[i - 1] + 1;
}
}
int res = candy[size - 1];
for(int i = size - 1; i > 0; i--){
if(ratings[i - 1] > ratings[i] && candy[i - 1] <= candy[i]){
candy[i - 1] = candy[i] + 1;
}
res += candy[i - 1];
}
return res;
}
};
Comments
Post a Comment