135. Candy
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class Solution {
public int candy(int[] ratings) {
if(ratings.length == 0) return 0;
int n = ratings.length;
int[] arrLtoR = new int[n];
int[] arrRtoL = new int[n];
arrLtoR[0] = 1;
arrRtoL[n-1] = 1;
for(int i = 1; i < n; i++) {
arrLtoR[i] = (ratings[i-1] < ratings[i])? arrLtoR[i-1]+1: 1;
arrRtoL[n-i-1] = (ratings[n-i-1] > ratings[n-i])? arrRtoL[n-i]+1: 1;
}
int total = 0;
for(int i = 0; i < n; i++) {
total += Math.max(arrLtoR[i], arrRtoL[i]);
}
return total;
}
}