Trapping Rain Water

原创 2015年11月20日 18:39:16

此题是从两边往中间靠拢,这题的思路是这样子的:假如左端的高度比右端高,那么左端作为第一个高度,右端作为第二高度,从右端开始往左端扫描,只要碰到比第二高度低的点就加水柱的高度,如果碰到高的点,那么将这个点作为第一个高,原来的左端的高点作为第二高度点(这是必须第二高,否则不然将这个作为第一高度的点了),此时点从左端开始扫描到右端,相应加水柱,一次类推。

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

相关文章推荐

LeetCode Trapping Rain Water等雨水的凹槽容量

最后黑体字的Thanks Marcos的意思是让我们放大我们的想象力,因为上图很容易误导我们的。如果只有上图的情况的话,我们可以很好用贪心法解决,但是,用贪心法是会出错的,因为如果我们计算当前最低点,...

leetcode || 42、 Trapping Rain Water

problem: Given n non-negative integers representing an elevation map where the width of each...

[leetcode]42. Trapping Rain Water(Java)

https://leetcode.com/problems/trapping-rain-water/#/description Given n non-negative inte...

Leetcode-42 Trapping in Rain Water

题目:             示例输入:                                                                              ...
  • qzq2514
  • qzq2514
  • 2017年03月18日 11:18
  • 239

leetcode学习笔记:Trapping Rain Water

Trapping Rain Water  Total Accepted: 8785 Total Submissions: 31229My Submissions Given n...

Trapping Rain Water [hard]

以 下 题 目 网 址 来 源 https://leetcode.com/ 42. Trapping Rain Water  Given n non-negative intege...

[Leetcode] Trapping Rain Water (Java)

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

[Leetcode] 42. Trapping Rain Water 解题报告

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

LintCode 364 Trapping Rain Water II

Given n * m non-negative integers representing an elevation map 2d where the area of each cell is 1 ...
  • earthma
  • earthma
  • 2015年04月29日 00:16
  • 2082

leetcode 42. Trapping Rain Water

Given n non-negative integers representing an elevation map where the width of each bar is 1, comput...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Trapping Rain Water
举报原因:
原因补充:

(最多只允许输入30个字)