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;
}
相关推荐
季明洵15 分钟前
回溯介绍及实战
java·数据结构·算法·leetcode·回溯
Felven25 分钟前
C. Stable Groups
c语言·开发语言
C羊驼27 分钟前
C语言学习笔记(十二):动态内存管理
c语言·开发语言·经验分享·笔记·青少年编程
木井巳30 分钟前
【递归算法】全排列
算法·leetcode·决策树·深度优先·剪枝
hongtianzai39 分钟前
Laravel8.x核心特性全解析
java·c语言·开发语言·golang·php
山上三树41 分钟前
C/C++ 中,整数 ↔ 字符、整数 ↔ 字符串
c语言·c++
阿Y加油吧42 分钟前
力扣打卡——螺旋矩阵、旋转图像
leetcode
j_xxx404_1 小时前
力扣--分治(归并排序)算法题I:排序数组,交易逆序对的总数
数据结构·c++·算法·leetcode·排序算法
hongtianzai1 小时前
Laravel6.x重磅发布:LTS版本新特性全解析
c语言·开发语言·php·laravel
Flamingˢ1 小时前
基于ARM的裸机程序设计和开发(三):C编程基础与Zynq裸机开发常用方法
c语言·arm开发·单片机