当前位置: 首页 > article >正文

力扣-贪心-135 分发糖果

思路

从左往右,如果比前一个大,就加一,如果不大就还为1,以为ratings={1,3,2,2,1}为例,此时糖果为candy={1,2,1,1,1},再从后往前遍历,如果比后一个大,就选一个max{当前值,后一个值加一},即为candy={1,2,1,2,1}

代码

class Solution {
public:
    int candy(vector<int>& ratings) {
        vector<int> candy(ratings.size(), 1);
        for(int i = 1; i < ratings.size(); i++){
            if(ratings[i] > ratings[i-1]){
                candy[i] = candy[i-1] + 1;
            }
        }

        for(int i = ratings.size() - 2; i >= 0; i--){
            if(ratings[i] > ratings[i+1]){
                candy[i] = max(candy[i], candy[i+1] + 1);
            }
        }

        int res = 0;
        for(int x: candy){
            res += x;
        }

        return res;
    }
};


http://www.kler.cn/a/560977.html

相关文章:

  • 如何加固织梦CMS安全,防webshell、防篡改、防劫持,提升DedeCMS漏洞防护能力
  • 将Ubuntu操作系统的安装源设置为阿里云
  • java23种设计模式-原型模式
  • 【网络编程】UDP协议
  • Spring Boot 项目中,JDK 动态代理和 CGLIB 动态代理的使用
  • 【无标题】PHP-get_definde_vars
  • Unity汽车笔记
  • 三七互娱游戏策划岗内推
  • angular新闻列表分页
  • nodejs npm install、npm run dev运行的坎坷之路
  • Linux System V - 消息队列与责任链模式
  • linux应急响应-进程排查
  • VM C#脚本 调用命令行 以python为例
  • 搭建Appium工具环境
  • 赛前启航 | 三场重磅直播集结,予力微软 AI 开发者挑战赛!
  • 边缘安全加速(ESA)套餐
  • 本地部署AI模型 --- DeepSeek(二)---更新中
  • 使用 Promptic 进行对话管理需要具备python技术中的那些编程能力?
  • 【深度学习】矩阵的核心问题解析
  • 【数据结构】(11) Map 和 Set