码迷,mamicode.com
首页 > 移动开发 > 详细

LeetCode 42. Trapping Rain Water

时间:2019-08-13 12:01:51      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:water   tor   ppi   int   cto   for   ret   problems   pre   

题目

1A
c++

O(n^2)

class Solution {
public:
    
    int trap(vector<int>& height) {
        
        int ans=0;
        for(int i=1;i<height.size();i++)
        {
            if(height[i]>height[i-1])
            {
                int pos=0;
                for(int j=i-2;j>=0;j--)
                {
                    if(height[j+1]<height[j])
                    {
                        int h=min(height[j],height[i]);
                        for(int k=j+1;k<=i-1;k++)
                        {
                            ans += h-height[k];
                            height[k] += h-height[k];
                           
                        }
                        
                        if(height[i]<height[j])
                            break;
                    }
                }
            }
        }
        
        return ans;
        
    }
};

O(n)

class Solution {
public:
    int left[100005];
    int right[100005];
    int trap(vector<int>& height) {
        
        
        int ans=0;
        if(height.size()==0)
            return ans;
        left[0] = height[0];
        for(int i=1;i<height.size();i++)
        {
            left[i] = max(left[i-1],height[i]);
        }
        
        right[height.size()-1] = height[height.size()-1];
        
        for(int j=height.size()-2;j>=0;j--)
        {
            right[j]=max(right[j+1],height[j]);
        }
        
        for(int i=0;i<height.size();i++)
        {
            ans += min(left[i],right[i]) - height[i];
        }
        
        return ans;
        
    }
};

LeetCode 42. Trapping Rain Water

标签:water   tor   ppi   int   cto   for   ret   problems   pre   

原文地址:https://www.cnblogs.com/dacc123/p/11344908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!