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;}};