Java | Leetcode Java题解之第135题分发糖果

题目:

题解:

java 复制代码
class Solution {
    public int candy(int[] ratings) {
        int n = ratings.length;
        int ret = 1;
        int inc = 1, dec = 0, pre = 1;
        for (int i = 1; i < n; i++) {
            if (ratings[i] >= ratings[i - 1]) {
                dec = 0;
                pre = ratings[i] == ratings[i - 1] ? 1 : pre + 1;
                ret += pre;
                inc = pre;
            } else {
                dec++;
                if (dec == inc) {
                    dec++;
                }
                ret += dec;
                pre = 1;
            }
        }
        return ret;
    }
}
相关推荐
美式请加冰1 分钟前
子序列问题
数据结构·算法·leetcode
好家伙VCC5 分钟前
**发散创新:基于Python的自动化恢复演练框架设计与实战**在现代软件系统运维中,
java·开发语言·python·自动化
程序员小崔日记7 分钟前
我参加了第十七届蓝桥杯 Java B 组省赛,这套题你能撑到第几题?
java·算法·蓝桥杯大赛
大黄说说10 分钟前
Go并发双雄:WaitGroup与Channel的抉择与协作
java·服务器·数据库
一只幸运猫.13 分钟前
用户58856854055的头像[特殊字符]Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·spring boot·后端
jjjava2.018 分钟前
数据库事务:ACID特性与实战应用
java·开发语言·数据库
HYNuyoah21 分钟前
docker网站配置迁移(旧换新)
java·docker·容器
ch.ju23 分钟前
Java程序设计(第3版)第二章——表达式和算术运算符
java
发发就是发26 分钟前
顺序锁(Seqlock)与RCU机制:当读写锁遇上性能瓶颈
java·linux·服务器·开发语言·jvm·驱动开发
6Hzlia28 分钟前
【Hot 100 刷题计划】 LeetCode 1143. 最长公共子序列 | C++ 二维DP 与 哨兵技巧
c++·算法·leetcode