*Trap Rain Water
2015-10-30 02:12
405 查看
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. Thanks Marcos for contributing this image!
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 Marcos for contributing this image!
public class Solution { public int trap(int[] height) { int len = height.length; if(len<=2)return 0; int maxIndex = -1; int maxHgt = Integer.MIN_VALUE; for (int i=0;i<len;i++) { if(height[i]>maxHgt) { maxHgt = height[i]; maxIndex = i; } } int leftMax = height[0]; int rightMax = height[len-1]; int water = 0; for (int i=1;i<maxIndex;i++) { if(height[i]<leftMax) { water += leftMax - height [i]; } else { leftMax = height[i]; } } for(int i=len-2;i>maxIndex;i--) { if(height[i]<rightMax) { water += rightMax - height [i]; } else { rightMax = height[i]; } } return water; } }
相关文章推荐
- Daily Scrumming* 2015.10.29(Day 10)
- Daily Scrum (2015/10/29)
- Wifi攻击工具 1:Aircrack-ng
- 重新认识trim,ltrim,rtrim,trailing和leading。
- TurboMail邮件系统企业邮件安全使用管理方案
- BZOJ4320 : ShangHai2006 Homework
- LeetCode Contains Duplicate II 数组
- hdu 1023 Train Problem II
- HDU 3487 Play with Chain
- LeetCode Contains Duplicate 数组
- SHARED_POOL_RESERVED_SIZE参数的设置及作用 -ZHUANZAI
- Daily Scrum 10.29
- 这几天在fake raid装funtoo的经验
- 磁盘阵列模式RAID
- hdu4300Clairewd’s message kmp
- kairosdb + cassandra Setup
- HDU 4819 Mosaic(二维线段树模板)
- export http://blog.csdn.net/hikaliv/article/details/4474835
- HDU 1532 Drainage Ditches(Dinic)
- 在浏览器中输入www.baidu.com后执行的全部过程