LeetCode42. Trapping Rain Water

原题地址

题目描述

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.

For example,
Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6.

思路

刚开始思路是一层一层的统计,找到两个相邻的柱子,统计他们的间距,中间加上一些条件,后来虽然实现了但果然超时了,不过实现了我已经很满意了。
网上看到的比较好的思路是两边往中间遍历,记录当前第二高点H,然后利用这个第二高点减去当前历经的柱子,剩下就装水容量了。(为什么是第二高点?因为两边比较,最高的点不用动,只移动第二高点,这样可以保证水不会”溢出“。)

代码实现

  class Solution {
public:int trap(vector<int>& height) {int n=height.size();if(n==0) return 0;int left=0;int right=n-1;int H=0;int water=0;while(left<right){if(height[left]<height[right]){H=max(height[left],H);water+=H-height[left];left++;}else{H=max(height[right],H);water+=H-height[right];right--;}}return water;}
};

ps: 不理解LeetCode为什么把这题放在stack标签里,难道是用stack有更好的解法?

LeetCode42. Trapping Rain Water相关推荐

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

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

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

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

  3. Leetcode 动态规划 Trapping Rain Water

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

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

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

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

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

  6. LeetCode 42 Trapping Rain Water 收集雨水

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

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

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

  8. [leetcode]Trapping Rain Water @ Python

    原题地址:https://oj.leetcode.com/problems/trapping-rain-water/ 题意: Given n non-negative integers represe ...

  9. 【leetcode】42. Trapping Rain Water 计算坑洼地的积水量

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

最新文章

  1. 营销团队管理必备101招
  2. 我的CSDN资源下载怎么被自动设置了积分
  3. 操作系统学习笔记:文件系统接口
  4. 举例说明在SQL中,DELETE语句与DROP TABLE的区别
  5. nodejs cluster_认识node核心模块--全局对象及Cluster
  6. Ubuntu 16.04安装Docker
  7. 服务器ghost备份后无法进入系统还原,ghost系统备份后的恢复方法
  8. 单片机课设-电子时钟设计(仿真图、代码全)
  9. Windows不同压缩软件、压缩算法、压缩率详细对比测试与选择
  10. 证书错误 导航已阻止 无法跳转 最终解决
  11. 平安云加速器D-day开幕为企业量身打造“加速”之旅
  12. AutoCAD 快捷键
  13. 蒲公英服务器搭建小程序,uniapp 小程序打包发布
  14. C#可以编辑的ListView
  15. markdown编辑微信公众号
  16. 如何成为优秀的工作者
  17. 石膏板建筑材料英国UKCA认证—EN 520
  18. 微信公众号里的H5页面返回至公众号首页
  19. USART向串口助手发送数据(DMA方式)
  20. Cortex-M3中C与汇编的交互

热门文章

  1. 织梦网站,织梦cms网站优化,织梦网站程序
  2. php面试题目及答案下载,精选新浪php面试题附答案
  3. java facets_Eclipse的Project Facets属性
  4. 华云数据:2019年云综合收入6.5亿元,国产化生态走到底
  5. OctConv :Drop an Octave: Reducing Spatial Redundancy inConvolutional Neural Networks with......
  6. 将安卓项目部署云服务器,将app项目部署到云服务器上
  7. 紫羚云秦鸿林:为什么说OA和低代码平台都不能代替专业ITSM(一)
  8. WiFi_日本认证测要求
  9. 17.第二十三章.测试管理
  10. Safari无法连接到服务器