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;
}
相关推荐
岁忧34 分钟前
(LeetCode 每日一题) 3541. 找到频率最高的元音和辅音 (哈希表)
java·c++·算法·leetcode·go·散列表
JasmineX-11 小时前
数据结构——顺序表(c语言笔记)
c语言·开发语言·数据结构·笔记
啟明起鸣2 小时前
【网络编程】从与 TCP 服务器的对比中探讨出 UDP 协议服务器的并发方案(C 语言)
服务器·c语言·开发语言·网络·tcp/ip·udp
番茄灭世神3 小时前
柔性数组与队列杂记
c语言
nightunderblackcat3 小时前
新手向:C语言、Java、Python 的选择与未来指南
java·c语言·python
你怎么知道我是队长3 小时前
C语言---存储类
c语言·开发语言
·云扬·9 小时前
【Leetcode hot 100】101.对称二叉树
算法·leetcode·职场和发展
西阳未落9 小时前
C语言中的内存函数(memcpy, memmove, memcmp, memset)
c语言·开发语言
睡不醒的kun14 小时前
leetcode算法刷题的第三十二天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划