classSolution{public:intcandy(vector<int>& ratings){int n = ratings.length();int candy =0;//初始化candy数目是0int eachcandy[n];//存储当前孩子的糖果数量for(int i =0;i < n;++i)
eachcandy[i]=1;//初始化为1for(int i =0; i < n;i++){for(int j =1; j < n-i;++j){if(ratings[i+j-1]<= ratings[i+j]){break;}else
eachcandy[i]++;}}for(int i =0; i < n;++i)
candy+=eachcandy[i];return candy;}};
正解
classSolution{public:intcandy(vector<int>& ratings){int n = ratings.size();
vector<int>left(n);for(int i =0; i < n; i++){if(i >0&& ratings[i]> ratings[i -1]){
left[i]= left[i -1]+1;}else{
left[i]=1;}}int right =0, ret =0;for(int i = n -1; i >=0; i--){if(i < n -1&& ratings[i]> ratings[i +1]){
right++;}else{
right =1;}
ret +=max(left[i], right);}return ret;}};