解题思路

单调栈问题 具体可以看题解的动画演示
https://leetcode-cn.com/problems/trapping-rain-water/solution/yi-miao-jiu-neng-du-dong-de-dong-hua-jie-o9sv/

代码

class Solution {public int trap(int[] height) {if (height.length<3){return 0;}int ans = 0;//记录下标LinkedList<Integer> stack = new LinkedList<>();for (int i=0;i<height.length;i++){if (stack.isEmpty()){stack.add(i);}else {//保持单调递减的栈if (height[i]<=height[stack.getLast()]){stack.add(i);}else {while (!stack.isEmpty() && height[i]>height[stack.getLast()]){//当前栈顶的高度int h = height[stack.getLast()];stack.removeLast();if (stack.isEmpty()){break;}//取两者高度差的较小值int n = Math.min(height[i]-h,height[stack.getLast()]-h);//两点的下标距离int index = i - stack.getLast()-1;ans += n*index;}stack.add(i);}}}return ans;}
}

每日一题:42. 接雨水相关推荐

  1. LeetCode 每日一题 42. 接雨水 详细多种题解 C++描述

    LeetCode 每日一题 42. 接雨水 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,一起加油吧~ 难度 困难 2020.04.04每日一题 ...

  2. Leetcode每日一题总目录(动态更新。。。)

    0. 概要 leecode每日一题(也可能多题)题解跟踪记录及总目录. 常用算法解题思路和技巧及数据结构: 预处理:数组排序(954),哈希表... 双指针法 682,125,905 单向链表 2 双 ...

  3. [每日一题]0:每日一题汇总

    每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++.以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交 ...

  4. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  5. 【LeetCode - 42. 接雨水】

    42. 接雨水 难度困难3164 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 示例 1: 输入:height = [0,1,0,2,1,0,1, ...

  6. python每日一题今天的答案_python每日一题总结1

    每日一题1 1. 写出python中import 导入库的几种常见写法 举例:import math from math imourt sqrt 每日一题2 1. print 1000L  的结果 答 ...

  7. ubuntu20.04 cudnn7.5.6_每日一题|小学数学1——6年级天天练习

    原标题:每日一题|小学数学1--6年级天天练习 一年级 1. 把下面的桃子分给2只猴子,可以怎么分? 2. 看图列算式 二年级 1. 填一填 2. 一共有多少个排球? 3. 将下面加法算式改写成乘法算 ...

  8. 3.22 42. 接雨水

    42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 ...

  9. 老男孩每日一题(一)

    老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file-.already exists以下错误如何解决? 第122天 2 ...

最新文章

  1. 安全公司:苹果iOS10备份功能安全性比iOS9差很多
  2. android surfaceflinger研究----显示系统
  3. Chrome 将不再允许 https:// 页面加载 HTTP 资源
  4. 蓝桥杯---2012--比酒量(暴力)
  5. 5年级用计算机器探索规律,《小数除法》用计算器探索规律
  6. WEB前端优化必备压缩工具YUI-compressor详解
  7. C语言实现——查找凶手
  8. java发微信_java实现微信发送消息
  9. PS常用的三种抠图方法,能应对99%的抠图场景
  10. 万向和肖风的区块链版图
  11. 企业邮箱托管外包后安全吗?企业邮箱安全须知
  12. 休假模块_如何为(几乎)任何电子邮件帐户创建休假消息
  13. Android AMS(android 11)
  14. .COMBO勒索病毒解密恢复 .xx4444 勒索病毒数据库恢复 .ALCO勒索病毒解密恢复
  15. 【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍
  16. Redis集群(读写分离、哨兵机制、Cluster集群)
  17. ec11编码器c语言程序,EC11旋转编码器电路和程序
  18. 2022年最新江苏建筑特种工(施工升降机)模拟题库及答案
  19. 基于java+jsp+ssm水果蔬菜销售系统
  20. ESP32下载固件教程

热门文章

  1. 防止后缀aol.com}AOL勒索病毒*** .com}AOL勒索病毒解密工具处理方法
  2. AWS助力海信集团智慧家居全球化运营
  3. 苹果或研发第二代智能手表
  4. 力推美团企业版 美团究竟意欲何为?
  5. WeUI+移动端照片上传、显示、预览、下载功能
  6. 深度学习之残差网络原理深度刨析
  7. 6-5图-图的基本操作
  8. 大数据能力_大数据基础能力_脑图
  9. Vue + Ant Design Vue 的分页pagination
  10. HDU 6148 Valley Numer