- Candy
class Solution {
public:
int candy(vector<int>& ratings) {
vector<int> data(ratings.size(), 1);
for(int i = 0; i < ratings.size() - 1; i++)
{
if(ratings[i] < ratings[i + 1] && data[i] >= data[i + 1])
{
data[i + 1] = data[i] + 1;
}
}
for (int j = ratings.size() - 1; j >= 1; j--)
{
if(ratings[j - 1] > ratings[j] && data[j - 1] <= data[j])
{
data[j - 1] = data[j] + 1;
}
}
return accumulate(data.begin(), data.end(), 0);
}
};