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;
}
相关推荐
老鼠只爱大米18 分钟前
LeetCode经典算法面试题 #78:子集(回溯法、迭代法、动态规划等多种实现方案详细解析)
算法·leetcode·动态规划·回溯·位运算·子集
执着25922 分钟前
力扣hot100 - 199、二叉树的右视图
数据结构·算法·leetcode
cpp_250133 分钟前
P8448 [LSOT-1] 暴龙的土豆
数据结构·c++·算法·题解·洛谷
YGGP33 分钟前
【Golang】LeetCode 49. 字母异位词分组
leetcode
lcj251133 分钟前
深入理解指针(4):qsort 函数 & 通过冒泡排序实现
c语言·数据结构·算法
唐梓航-求职中42 分钟前
编程大师-技术-算法-leetcode-1472. 设计浏览器历史记录
算法·leetcode
YGGP1 小时前
【Golang】LeetCode 1. 两数之和
leetcode
唐梓航-求职中1 小时前
编程大师-技术-算法-leetcode-355. 设计推特
算法·leetcode·面试
唐梓航-求职中1 小时前
技术-算法-leetcode-1606. 找到处理最多请求的服务器(易懂版)
服务器·算法·leetcode
4311媒体网1 小时前
C语言操作符全解析 C语言操作符详解
java·c语言·jvm