《LeetCode力扣练习》代码随想录——贪心算法(分发糖果—Java)
刷题思路来源于 代码随想录
135. 分发糖果
-
贪心
class Solution { public int candy(int[] ratings) { int[] result = new int[ratings.length]; result[0] = 1; for (int i = 1; i < ratings.length; i++) { if (ratings[i] > ratings[i - 1]) { result[i] = result[i - 1] + 1; } else { result[i] = 1; } } for (int i = ratings.length - 2; i >= 0; i--) { if (ratings[i] > ratings[i + 1]) { result[i] = Math.max(result[i], result[i + 1] + 1); } } int sum = 0; for (int num : result) { sum += num; } return sum; // return Arrays.stream(result).sum(); } }