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

力扣42 接雨水

听说字节每人都会接雨水,我也要会哈哈哈

数据结构:数组
算法:核心是计算这一列接到多少雨水,它取决于它左边的最大值和右边的最大值,如下图第三根柱子能接到的雨水应该是第一根柱子高度和第五根柱子高度的最小值减去第三根柱子高度。
在这里插入图片描述

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

相关文章:

  • mysql社区版有可以双机吗
  • 大城市与小城市的一些感受
  • C++中的适配器模式
  • 欢乐打地鼠小游戏html源码
  • 面试题:callable与runable的区别?
  • python中字典的创建
  • Spring AI 第二讲 之 Chat Model API 第九节 watsonx.ai Chat
  • 微生物实验室建设公司独家分享:从平面布局到高效设备的全流程设计技巧
  • YOLOV5总结
  • C++基础编程100题-009 OpenJudge-1.3-07 计算多项式的值
  • 协程-在单个线程内部执行
  • 为什么要分析电商用户数据?详解两大用户数据分析维度
  • 华为云DDoS攻击下的应对策略
  • Spring Cloud Gateway详解
  • BIO NIO AIO 的区别!!!
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • canvas绘制圆角头像
  • jquery cookie
  • Python学习之路13-记分
  • React的组件模式
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Vue2 SSR 的优化之旅
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 我感觉这是史上最牛的防sql注入方法类
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 进程与线程(三)——进程/线程间通信
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # 安徽锐锋科技IDMS系统简介
  • #职场发展#其他
  • (02)Unity使用在线AI大模型(调用Python)
  • (19)夹钳(用于送货)
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (五)Python 垃圾回收机制
  • (一)Docker基本介绍
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .form文件_SSM框架文件上传篇
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET处理HTTP请求
  • .NET连接数据库方式
  • ::前边啥也没有
  • []串口通信 零星笔记
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [Android] Binder 里的 Service 和 Interface 分别是什么
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [C# 开发技巧]实现属于自己的截图工具
  • [C#C++]类CLASS
  • [C++] 轻熟类和对象
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用