思考
这道题目之前貌似做过,就是遇到比前一个人大的就+1,遇到相同的就归1,
然后看到了第一个样例,发现左面的人比右面大的话也需要考虑一下
所以还需要从后往前遍历一遍
class Solution {
public int candy(int[] ratings) {
int []dp = new int [ratings.length];
Arrays.fill(dp, 1);
for(int i=1;i<ratings.length;i++){
if(ratings[i]>ratings[i-1])
dp[i]=dp[i-1]+1;
}
int count=dp[ratings.length-1];
for(int i=ratings.length-2;i>-1;i--){
if(ratings[i]>ratings[i+1])
dp[i]=Math.max(dp[i+1]+1,dp[i]);
count+=dp[i];
}
return count;
}
}