企业网站网络推广怎么做,纺织网站建设方案,做迅雷下载电影类网站会侵权么,中国品牌装修公司排名一:论语 二:题目 三#xff1a;上码 class Solution {
public:int candy(vectorint ratings) {/**思路:1.这里我们分两次遍历(从左向右 从右向左)2.当我们从左向右遍历的时候 如果右边的评分比左边孩子分数高 那么右边孩子的糖果数上就在左边孩子糖果数上加一3.当…一:论语 二:题目 三上码 class Solution {
public:int candy(vectorint ratings) {/**思路:1.这里我们分两次遍历(从左向右 从右向左)2.当我们从左向右遍历的时候 如果右边的评分比左边孩子分数高 那么右边孩子的糖果数上就在左边孩子糖果数上加一3.当我们从右向左遍历的时候,如果左边的评分比右边的评分高的话 并且其糖果个数小于右边的话那么左边孩子的糖果数 右边的孩子的糖果数1*/mapint,intm;mapint,int:: iterator mt;int sum 0;for(int i 0; i ratings.size(); i) {m[i] 1;}//从左向右for(int i 0; i ratings.size()-1; i) {if(ratings[i1] ratings[i]){//右边孩子的糖果个数大于左边的糖果个数m[i1] m[i]1;}}//从右向左for(int i ratings.size()-1; i 0; i--) {if(ratings[i-1] ratings[i] m[i-1] m[i]) {// m[i-1] m[i] 保证要增加糖果的一侧的m[i-1] m[i] 1; //糖果数是小于等于右边的} }for(mt m.begin(); mt ! m.end(); mt) {sum mt-second;}// int sum accumulate(mt-second().begin(),mt-second().end(),0);return sum;}
};