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;
}
相关推荐
ALex_zry14 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
Zw-awa15 小时前
01-写了include之后到底发生了什么
c语言
wabs66617 小时前
关于动态规划【力扣1035.不相交的线和53.最大子数组和的思考】
算法·leetcode·动态规划
退休倒计时17 小时前
【每日一题】LeetCode 199. 二叉树的右视图 TypeScript
算法·leetcode·typescript
王老师青少年编程18 小时前
2026年6月GESP真题及题解(C++二级):完全平方数计数
c++·题解·真题·gesp·二级·2026年6月·完全平方数计数
CodeStats18 小时前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
硕风和炜18 小时前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索
文祐19 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
剑挑星河月19 小时前
94.二叉树的中序遍历
java·算法·leetcode
Sw1zzle20 小时前
算法入门(三):二分查找 - 基础模板 & 边界控制(Leetcode 704/35/278/34/69/367)
算法·leetcode