13. Candy
My Approach
Time and Auxiliary Space Complexity
Code (C++)
class Solution {
public:
int candy(vector<int>& ratings) {
int peak = 0 , valley = 0 , size = ratings.size(),candy_count = size ;
for(int i = 1 ; i< size ;){
if(ratings[i] == ratings[i-1]){ i++ ; continue;}
peak = 0 ;
valley = 0;
while( i< size && ratings[i] > ratings[i-1]){
peak++;
i++;
candy_count += peak;
}
while(i<size && ratings[i] < ratings[i-1]){
valley++;
i++;
candy_count += valley;
}
candy_count -= min(peak,valley);
}
return candy_count;
}
};
Contribution and Support
Last updated