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

Leetcode 135-分发糖果

1)所有人分1个candy
2)从左往右查看,若满足左规则,令 candy[i] =candy[i - 1] + 1
3)从右往左查看,若满足右规则,令 candy[j] =Math.max(candy[j + 1] + 1,candy[j]),取最大值是为了在满足右规则的时候不破坏左规则

class Solution {
    public int candy(int[] ratings) {
        if(ratings.length==0) return 0;
        int candy[] =new int[ratings.length];
        int total=0;
        candy[0]=1;
        //从左向右遍历数组使其满足左规则
        for(int i=1;i<ratings.length;i++){
            candy[i]=1;
            if(ratings[i]>ratings[i-1]){
                candy[i]=candy[i-1]+1;
            }
        }
        //从右向左遍历数组使其满足左规则
        for(int i=ratings.length-2;i>=0;i--){
            if(ratings[i]>ratings[i+1]){
                candy[i]=Math.max(candy[i+1]+1,candy[i]);
            }
        }
         //遍历获得糖果总数
        for(int i=0;i<ratings.length;i++){
            total+=candy[i];
        }
        return total;

    }
}

http://www.kler.cn/news/342401.html

相关文章:

  • 软件工程pipeline梳理
  • C++之LIST模拟实现(代码纯享版)
  • 使用pycharm 开发streamlit的项目,怎么启动项目,进行debug调试
  • 磁盘I/O测试工具-FIO
  • 小猿口算脚本
  • 前端 NPM
  • MedMamba代码解释及用于糖尿病视网膜病变分类
  • 【Flutter】如何生成和修改 Flutter 应用图标
  • 第二阶段:mysql(学完就隐藏版)
  • Linux 查看当前正在使用的 Bash 版本
  • uniapp打包安卓apk步骤
  • MySQL(B站CodeWithMosh)——2024.10.8(11)
  • 【element-tiptap】如何引进系统中的字体?
  • FreeRTOS和Systemview联合调试——M0内核
  • 使用Pytorch+Numpy+Matplotlib实现手写字体分类和图像显示
  • 【分布式微服务云原生】战胜Redis脑裂:深入解析与解决方案
  • Python中的Socket魔法:如何利用socket模块构建强大的网络通信
  • “国货户外TOP1”凯乐石签约实在智能,RPA助力全域电商运营自动化提效
  • 企业如何借力AI,提升人力资源管理的效率完成组织提效变革
  • processing像素画教程