这个题难点在于无法保证右边是不是有更高的墙可以保证挡住水

双指针可以解决

/*两边指针保证,保证另外一边肯定有能挡住水的地方。如果从一边开始,不考虑另一边,是无法保证右边肯定有挡水的墙,如果右边只都比这个值小,遍历的时候是不能增加结果的双指针每次取较小的一方开始遍历*/public int trap(int[] height) {if (height.length<3) return 0;int l = 0;int r = height.length-1;int res = 0;while (l<r){int min = Math.min(height[l],height[r]);if (min==height[l]){//从左边开始遍历,遇到更高的就退出while (++l<r&&height[l]<=min)res+=min-height[l];}else{while (l<--r&&height[r]<=min)res+=min-height[r];}}return res;}

转载于:https://www.cnblogs.com/stAr-1/p/8426124.html

[LeetCode]42. Trapping Rain Water雨水填坑相关推荐

  1. LeetCode 42 Trapping Rain Water 收集雨水

    LeetCode 42 Trapping Rain Water 收集雨水 Given n non-negative integers representing an elevation map whe ...

  2. 【重点:DP 双指针 栈】LeetCode 42. Trapping Rain Water

    LeetCode 42. Trapping Rain Water 本博客转载自:http://www.cnblogs.com/grandyang/p/4402392.html [自己又不会做,抄的-& ...

  3. leetcode#42 Trapping rain water的五种解法详解

    leetcode#42 Trapping rain water 这道题十分有意思,可以用很多方法做出来,每种方法的思想都值得让人细细体会. 42. Trapping Rain Water Given ...

  4. LeetCode 42. Trapping Rain Water 【两种解法】(python排序遍历,C++ STL map存索引,时间复杂度O(nlogn))

    LeetCode 42. Trapping Rain Water Python解法 解题思路: 本思路需找到最高点左右遍历,时间复杂度O(nlogn),以下为向左遍历的过程. 将每一个点的高度和索引存 ...

  5. LeetCode 42. Trapping Rain Water(收集雨水Ⅰ)

    题目描述: Given n non-negative integers representing an elevation map where the width of each bar is 1, ...

  6. Leetcode 407. Trapping Rain Water II 收集雨水2 解题报告

    1 解题思想 我看了下题目,发现比预想中的简单,加之我比较烂,所以其实我还是没做,只是看懂了上回贴的代码,然后做了一下注释,现在我来讲下题目. 首先请看下上一题,上一题是2D的这题是3D的: Leet ...

  7. LeetCode 42. Trapping Rain Water--算法题--c++解法

    LeetCode 42. Trapping Rain Water–c++解法 LeetCode题解专栏:LeetCode题解 LeetCode 所有题目总结:LeetCode 所有题目总结 大部分题目 ...

  8. 【重点:BFS】LeetCode 407. Trapping Rain Water II

    LeetCode 407. Trapping Rain Water II 博客转载自:http://www.cnblogs.com/grandyang/p/5928987.html [太难了,被智商碾 ...

  9. Leetcode 动态规划 Trapping Rain Water

    本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie Trapping Rain Water Total Accepted: 14568 Tota ...

最新文章

  1. .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用
  2. ArrayList和LinkedList的各项操作性能比较
  3. 解决iOS设备屏幕切换时页面造成的问题
  4. Linux手机适配,nginx同时适配PC版和手机移动版
  5. opencv3.4.x和opencv4.x中 cv2.findContours的不同 ValueError: too many values to unpack (expected 2)
  6. python怎么重复程序,如何重复运行python程序
  7. UAS:大众点评用户行为系统
  8. Linux下 df 命令查看磁盘空间
  9. 使用GitHub搭建个人博客
  10. web期末作业设计网页:动漫网站设计——蜡笔小新(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 动漫网页设计作业 web网页设计与开发 html实训大作业
  11. 小技巧——网页下载提速
  12. android studio Statistic插件不显示
  13. 甘超波:NLP自我价值感
  14. 18025 小明的密码
  15. 单元格函数:count、countA、countBlank
  16. 有奖互动 | 打工人、爱码士都看这里
  17. android 意图过滤,Android 意图(Intent)及过滤器(Filter).pdf
  18. 历史天气查询 Android 版本 JAVA
  19. 除了Axure,还有哪些原型设计工具
  20. 白牛:一半是磨练,一半是成长

热门文章

  1. Linux通过端口号杀死指定进程
  2. Redis 预防缓存穿透“神器” — 布隆过滤器
  3. 2022-2028年中国清水混凝土行业供需策略分析及市场供需预测报告
  4. dataframe重命名
  5. 一篇文章告诉你标准化和归一化的区别?
  6. logistic 损失函数的解释
  7. LeetCode简单题之数组中的字符串匹配
  8. LeetCode简单题之构造矩形
  9. 通俗易懂的Go协程的引入及GMP模型简介
  10. Activity在有Dialog时按Home键的生命周期