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

leetcode 42 接雨水

思路

刚开始一点思路也没有
下面这个讲的非常好
https://zhuanlan.zhihu.com/p/125074613

dp的思路

就是找这个点左边最大值和右边最大值

代码

 public int trap(int[] height) {
        int[] leftMax = new int[height.length];
        int[] rightMax = new int[height.length];
        leftMax[0] = height[0];
        for (int i = 1; i < height.length; i++) {
            leftMax[i] = Math.max(leftMax[i-1], height[i]);
        }
        rightMax[height.length-1] = height[height.length-1];
        for (int i = height.length - 2; i >= 0; i--) {
            rightMax[i] = Math.max(rightMax[i+1],height[i]);
        }
        int result = 0;
        for (int i = height.length - 2; i > 0; i--) {
            
                result = result + Math.min(leftMax[i], rightMax[i])-height[i];
            

        }
        return result;
    }

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

相关文章:

  • 传奇996_21——龙岭事件
  • 使用Docker快速部署FastAPI Web应用
  • 什么时候需要复写hashcode()和compartTo方法
  • C# 模拟浏览器自操作(自动化办公)
  • 基于标签相关性的多标签学习
  • 【Golang】Channel的ring buffer实现
  • 【SQL】百题计划:SQL内置函数“LENGTH“的使用
  • c++ 线程库
  • 汽车英文单词缩写汇总
  • C++学习笔记(27)
  • Rust: Warp RESTful API 如何得到客户端IP?
  • Notepad++中提升编码效率的关键快捷键
  • C++:opencv计算轮廓周长--cv::arcLength
  • 如何快速入门 Vue 3
  • MySQL基础篇(黑马程序员2022-01-18)
  • xilinx hbm ip运用
  • 自定义类型:联合和枚举
  • Java零基础-Java对象详解
  • 5. Python之数据类型
  • JVM字节码与局部变量表
  • 苹果手机铃声怎么设置自己的歌?3个方法自定义手机铃声
  • C++——多线程编程(从入门到放弃)
  • VirtualBox Install MacOS
  • 如何迈向IT行业的成功之路
  • pip install、yum install和conda install三者技术区分
  • 无人机之悬停精度篇