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

leetcode42. Trapping Rain Water

时间:2017-10-06 18:09:58      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:desc   http   section   题目   ret   size   public   ase   static   

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.

技术分享

The above elevation map is represented by array [0,1,0,2,1,0,1,3,2,1,2,1]. In this case, 6 units of rain water (blue section) are being trapped. Thanks Marcosfor contributing this image!

 题目如上。假期最后一道hard难度的题,先放上之前实现的代码,还可以简化

 1 class Solution {
 2 public:
 3     int trap(vector<int>& height) {
 4         int sum=0;
 5         for(int i=0;i<height.size();++i){
 6             for (int j=i+1;j<height.size();++j) {
 7                 if(height[j]>=height[i]){
 8                     sum+=height[i]*(j-i-1);
 9                     //可优化,m->i
10                     for(int m=i+1;m<j;++m){
11                         sum-=height[m];
12                     }
13                     i=j-1;
14                     break;
15                 }
16                 if(j==height.size()-1){
17                     int max=height[i+1];
18                     int max_i=i+1;
19                     for(int n=max_i+1;n<height.size();++n){
20                         if(height[n]>max){
21                             max=height[n];
22                             max_i=n;
23                         }
24                     }
25                     sum+=height[max_i]*(max_i-i-1);  
26                     for(int m=i+1;m<max_i;++m){
27                         sum-=height[m];
28                     }
29                     i=max_i-1;
30                 }
31             }
32 
33         }
34         return sum;
35     }
36 };

 

 

 

leetcode42. Trapping Rain Water

标签:desc   http   section   题目   ret   size   public   ase   static   

原文地址:http://www.cnblogs.com/yeqingqian/p/7631824.html

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