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;
}
相关推荐
爱编码的小八嘎9 分钟前
C语言完美演绎9-23
c语言
happymaker062611 分钟前
简单LRU的实现(基于LinkedHashMap)
算法·leetcode·lru
普通网友24 分钟前
《算法面试必刷:15 个高频 LeetCode 题(附代码)》
算法·leetcode·面试
_深海凉_25 分钟前
LeetCode热题100-搜索二维矩阵
算法·leetcode·矩阵
我不是懒洋洋1 小时前
手写一个KMP算法:从原理到工程级实现
c语言
代码中介商1 小时前
C语言链表完全指南:从单节点到链表管理
c语言·算法·链表
『昊纸』℃1 小时前
C语言程序设计从入门到进阶【比特鹏哥c语言2023完整版视频教程】(c语言基础入
c语言·函数·常量·编程教程·变量作用域
凉、介3 小时前
Armv8-A virtualization 笔记 (一)
c语言·笔记·学习·嵌入式·虚拟化·hypervisor
♛识尔如昼♛4 小时前
C 进阶(3) - 文件和目录
c语言·文件和目录
weixin_421725265 小时前
C语言是一种通用的计算机编程语言,广泛应用于各类
c语言·计算机·编程语言·软件开发·历史演变