/* * 135. Candy * 12.31 by Mingyang * 感觉这个题目没什么难度,开始全部赋值为1,从左往右一次扫一遍,第二次就从右往左 * 依次扫一遍 */ public int candy(int[] ratings) { int len=ratings.length; if(ratings==null||len==0) return 0; int[] count=new int[len]; Arrays.fill(count,1); for(int i=1;i<len;i++){ if(ratings[i]>ratings[i-1]){ count[i]=count[i-1]+1; } } for(int i=len-1;i>0;i--){ if(ratings[i-1]>ratings[i]&&(count[i-1]<=count[i])){ count[i-1]=count[i]+1; } } int res=0; for(int i=0;i<len;i++){ res+=count[i]; } return res; }