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;
}
相关推荐
longlongzihan11 小时前
LeetCode 5. 最长回文子串:从暴力匹配到中心扩展的思维演进
c++·算法·leetcode
苦瓜打怪兽11 小时前
leetcode 热题100(11. 盛最多水的容器)
python·算法·leetcode
Escalating_xu12 小时前
【C 语言】深入理解指针(4):回调函数、qsort、void * 与泛型排序的模拟实现
java·c语言·开发语言
吠品12 小时前
GitHub 周榜拆解:决策小模型扎堆上位
c语言·开发语言·算法
小师兄吃牛肉13 小时前
C语言篇:内联函数
c语言·开发语言
白山编程大哥13 小时前
C语言篇:语法进阶
c语言·数据结构·算法
Logic10114 小时前
C语言/数据结构动态规划题解:爬楼梯(含坏台阶)——避开障碍物的路径计数
c语言·数据结构·动态规划·时间复杂度·空间复杂度·算法题·爬楼梯
山下梅子酒22514 小时前
洛谷-入门-B2081
c语言
wuminyu15 小时前
Virtual Thread重投递至ForkJoinPool任务队列过程解析
java·linux·c语言·jvm·c++
All for pursuit.15 小时前
【回溯-6】79.单词搜索
数据结构·c++·算法·leetcode