LeetCode 刷题【135. 分发糖果】

135. 分发糖果

自己做(歇菜)

看题解

官方题解

java 复制代码
class Solution {
    public int candy(int[] ratings) {
        int n = ratings.length;
        int[] left = new int[n];
        for (int i = 0; i < n; i++) {
            if (i > 0 && ratings[i] > ratings[i - 1]) {
                left[i] = left[i - 1] + 1;
            } else {
                left[i] = 1;
            }
        }
        int right = 0, ret = 0;
        for (int i = n - 1; i >= 0; i--) {
            if (i < n - 1 && ratings[i] > ratings[i + 1]) {
                right++;
            } else {
                right = 1;
            }
            ret += Math.max(left[i], right);
        }
        return ret;
    }
}
相关推荐
Tisfy6 小时前
LeetCode 3689.最大子数组总值 I:What The Medium
算法·leetcode·题解·贪心·模拟·脑筋急转弯
葬送的代码人生6 小时前
JavaScript 数组完全指南:从入门到实战
前端·javascript·算法
春日见7 小时前
决策规划控制面经汇总
人工智能·深度学习·算法·机器学习·自动驾驶
Full Stack Developme7 小时前
Java DFA算法
java·python·算法
fie88897 小时前
LBP + HOG 特征检测与识别 MATLAB 实现
数据结构·算法·matlab
海天鹰7 小时前
图片去黑边算法
qt·算法
xxwl5857 小时前
一个原创题(二)
c++·算法
moeyui7057 小时前
LeetCode 380:Insert Delete GetRandom O(1) 题解和一些延伸
算法·leetcode·职场和发展
三千里7 小时前
路径规划算法-备忘
算法·自动驾驶·动态规划
圣保罗的大教堂7 小时前
leetcode 3689. 最大子数组总值 I 中等
leetcode