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

42 接雨水

算出两边的最高位置的最小值 减去当前位置的高度就是当前位置的蓄水量

 public int trap(int[] height) {

       

                //边的总个数

        int n = height.length;

        //从左到右的height[]的最大值

        int [] leftsum = new int[n];

        //从右到左的height[]的最大值

        int [] rightsum =new int[n];

        //先计算从左到右的大值

        leftsum[0] = height[0];

        for (int i = 1; i < n; i++) {

            leftsum[i] = Math.max(leftsum[i-1], height[i]);

        }

        //计算从右到左的最大值

        rightsum[n-1] = height[n-1];

        for (int i = n-2; i >= 0; i--) {

            rightsum[i] = Math.max(rightsum[i+1], height[i]);

        }

        //最终存水结果

        int target=0;

       

        //选出两个中的最小值减去当前位置的高度 就是当前位置所能存储水的多少

        for (int i = 0; i < n; i++) {

            target+=Math.min(leftsum[i],rightsum[i])-height[i];

        }

       

        return target;


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

相关文章:

  • 【数据结构】 栈和队列
  • 网剧《一念逍遥》正式启动筹备
  • vLLM专题(二):安装-CPU
  • 【Python】Python入门基础——环境搭建
  • Ubuntu20.04部署stable-diffusion-webui环境小记
  • Leetcode100-春招-矩阵题类
  • 【06】泛型
  • Httprint 指纹识别技术:网络安全的关键洞察
  • [高等数学] 分部积分法
  • 大模型开发实战篇5:多模态--文生图模型API
  • Flask中获取请求参数的一些方式总结
  • DeepSeek在linux下的安装部署与应用测试
  • 基于Python的Flask微博话题舆情分析可视化系统
  • Dify+Ollama+DeepSeek部署本地大模型+知识库搭建
  • Typescript class中的方法和函数类型的属性有何不同?
  • 每日一题——47. 全排列 II
  • Linux系统Centos安装部署nginx代理
  • 数字内容体验未来趋势:五大平台横向对比与深度解析
  • 惠普HP Color LaserJet CP1215/1210彩色打印机打印校准方法
  • . Unable to find a @SpringBootConfiguration(默认软件包中的 Spring Boot 应用程序)