C语言 | Leetcode C语言题解之第135题分发糖果

题目:

题解:

cpp 复制代码
int candy(int* ratings, int ratingsSize) {
    int ret = 1;
    int inc = 1, dec = 0, pre = 1;
    for (int i = 1; i < ratingsSize; 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;
}
相关推荐
小猪写代码19 分钟前
C语言系统函数-(新增)
c语言·开发语言
♛识尔如昼♛30 分钟前
C 基础(3-2) - 数据和C
c语言·开发语言
多多想36 分钟前
C++扫盲——为什么C/C++分文件要写h和cpp?
c语言·c++
Wenhao.1 小时前
LeetCode Hot100 腐烂的橘子
算法·leetcode·职场和发展
Rock_yzh2 小时前
LeetCode算法刷题——560. 和为 K 的子数组
数据结构·c++·学习·算法·leetcode·职场和发展·哈希算法
nju_spy2 小时前
力扣每日一题(11.10-11.29)0-1 和 k 整除系列
python·算法·leetcode·前缀和·单调栈·最大公约数·0-1背包
AuroraWanderll3 小时前
深入理解C++多态(三):多态的原理——虚函数表机制(上)
c语言·开发语言·数据结构·c++·算法·stl
WongKyunban3 小时前
什么是内存踩踏及其危害
c语言
良木生香4 小时前
【程序设计】P8772 [蓝桥杯 2022 省 A] 求和
c语言·算法·职场和发展·蓝桥杯
做怪小疯子4 小时前
LeetCode 热题 100——二叉树——翻转二叉树
算法·leetcode·职场和发展