Leetcode -- Trapping Rain Water
2015-10-27 08:59
447 查看
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
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.
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.
class Solution { public: int trap(vector<int>& height) { int n=height.size(); if(n==0) return 0; vector<int> left(n,height[0]),right(n,height[n-1]); for(int i=1;i<n;++i) left[i]=max(height[i],left[i-1]); for(int i=n-2;i>=0;--i) right[i]=max(height[i],right[i+1]); int sum=0,water=0; for(int i=0;i<n;++i) { sum+=height[i]; water+=min(left[i],right[i]); } return water-sum; } };
相关文章推荐
- ym——Android之ListView性能优化
- 拦截所有push进来的控制器
- Block 的 使用
- 百度的android采访分析
- BNR Android Demo学习笔记(一)——CrimeIntent
- AppStore下载更新应用程序 弹出他人账号
- Android开发工程师必看笔试题:Java基础选择题(一)
- 【Cocos Shader】2D灯光及遮罩效果
- groovy的使用-简介
- 我学cocos2d-x (两) 采用Delegate(信托)
- iOS中 超简单抽屉效果(MMDrawerController)的实现
- iOS中 超简单抽屉效果(MMDrawerController)的实现
- 关于eclipse安装adt的 Android Development Tools报错
- 获取android应用或apk的md5指纹方法
- 使用ANT打包Android应用
- Android 实现调整屏幕亮度,以及自动适应
- Android WebView详解
- referenceerror wx is not defined 微信JsSdk开发
- unity生成android release 版本的apk性能比较好
- unity set texture offset