示例 1:
示例 2:
class Solution {public int candy(int[] ratings) {int len = ratings.length;int[] left = new int[len];int[] right = new int[len];left[0] = 1;for(int i = 1;i < len;i++){left[i] = ratings[i] > ratings[i - 1] ? left[i - 1] + 1 : 1;}right[len - 1] = 1;for(int i = len - 2;i>=0;i--){right[i] = ratings[i] > ratings[i + 1] ? right[i + 1] + 1 : 1;}int res = 0;for(int i = 0;ires += Math.max(left[i],right[i]);}return res;}
}
int candy(int* ratings, int ratingsSize)
{int* left = (int*)malloc(sizeof(int) * ratingsSize);int* right = (int*)malloc(sizeof(int) * ratingsSize);left[0] = 1;for(int i = 1;ileft[i] = ratings[i] > ratings[i - 1] ? left[i - 1] + 1 : 1;}right[ratingsSize - 1] = 1;for(int i = ratingsSize - 2;i>=0;i--){right[i] = ratings[i] > ratings[i + 1] ? right[i + 1] + 1 : 1;}int res = 0;for(int i = 0;ires += fmax(left[i],right[i]);}return res;
}
class Solution:def candy(self, ratings: List[int]) -> int:N = len(ratings)left = [0] * Nright = [0] * Nleft[0] = 1for i in range(1,N):left[i] = left[i - 1] + 1 if ratings[i] > ratings[i - 1] else 1right[N - 1] = 1for i in range(N - 2,-1,-1):right[i] = right[i + 1] + 1 if ratings[i] > ratings[i + 1] else 1res = 0for i in range(0,N):res += max(left[i],right[i])return res
Java语言版
C语言版
Python语言版
上一篇:RolePred: Open-Vocabulary Argument Role Prediction for Event Extraction 论文解读
下一篇:Linux2.2网络驱动程序编写