第42题 TrappingRainWater

题目要求: 计算存水量

题目难度: 难

解题思路

1. 从左向右和从右向左遍历

2. 左边设置一个隐形的bar,右边设置一个隐形的bar,都为0

3. 如果左边的高度小于右边的高度,比较左边的高度和隐形的bar的高度,将大的值设置为隐形的bar的高度

随着指针的移动,储水量为隐形的bar的高度-当前的高度,(前提条件为,右边的高度大于左边的隐形的bar的高度)

4.右边同理,更新储水量的值。

算法复杂度:

    时间复杂度:O(N)

    空间复杂度:O(1)

代码:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 相信大部分同学曾经都学习过快速排序、Huffman、KMP、Dijkstra等经典算法,初次学习时我们惊叹于算法的...
    selfboot阅读 5,193评论 31 168
  • 厚颜无耻的脑洞。 FRIST LIV JENNY COUPLE 高能警示。 心脏病患者高血压患者脑洞大开患者速速退...
    天明朝阳Glorfindel阅读 338评论 0 0
  • 好久没写博客了,感觉像少了点什么。趁周末,写点什么吧。 时间过得飞快,转眼时间都到八月份了。2018 年很快就会过...
    _浅墨_阅读 372评论 0 4
  • “你们都安静的待着!”巫师把它们关进一个暗室。 “汪汪!踩着我啦!” “这还有人!”兔子说。 三人回头一看,狭小的...
    悦豆米阅读 199评论 0 4
  • “唱响西遥”30进15的比赛无论是在收视,还是在影响宣传上都取得了美满的成功后,很快便迎来了第二场的15进8的晋级...
    惰娇鱼头阅读 551评论 0 3