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;
}
相关推荐
千金裘换酒1 小时前
LeetCode反转链表
算法·leetcode·链表
JoyCheung-2 小时前
Free底层是怎么释放内存的
linux·c语言
圣保罗的大教堂3 小时前
leetcode 1161. 最大层内元素和 中等
leetcode
闲看云起3 小时前
LeetCode-day6:接雨水
算法·leetcode·职场和发展
黛色正浓3 小时前
leetCode-热题100-贪心合集(JavaScript)
javascript·算法·leetcode
一起努力啊~4 小时前
算法刷题--长度最小的子数组
开发语言·数据结构·算法·leetcode
leoufung4 小时前
LeetCode 221:Maximal Square 动态规划详解
算法·leetcode·动态规划
源代码•宸4 小时前
Leetcode—39. 组合总和【中等】
经验分享·算法·leetcode·golang·sort·slices
好易学·数据结构4 小时前
可视化图解算法77:零钱兑换(兑换零钱)
数据结构·算法·leetcode·动态规划·力扣·牛客网
AlenTech5 小时前
226. 翻转二叉树 - 力扣(LeetCode)
算法·leetcode·职场和发展