Trapping Rain Water
来源:互联网 发布:淘宝客服哪里培训课程 编辑:程序博客网 时间:2024/05/16 04:43
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
.
从两端向中间夹逼,比两端较矮那根还矮的部分就可以用水补齐了。
class Solution {
public:
int trap(int A[], int n) {
if(n <= 2) return 0;
int areas = 0;
int start = 0;
int end = n - 1;
while(start <= end){//向左端看齐
if(A[start] <= A[end]){
int i = start + 1;
while(i < end && A[i] < A[start])
areas += A[start] - A[i++];
start = i;
}
else{//向右端看齐
int j = end - 1;
while(j > start && A[j] < A[end])
areas += A[end] - A[j--];
end = j;
}
}
return areas;
}
};
- LeetCode: Trapping Rain Water
- LeetCode : Trapping Rain Water
- Trapping Rain Water
- [LeetCode] Trapping Rain Water
- [Leetcode] Trapping Rain Water
- [Leetcode] Trapping Rain Water
- Trapping Rain Water
- Trapping Rain Water
- [LeetCode]Trapping Rain Water
- Trapping Rain Water
- Trapping Rain Water
- LeetCode-Trapping Rain Water
- Trapping Rain Water
- [leetcode] Trapping Rain Water
- Trapping Rain Water
- [LeetCode] Trapping rain water
- Leetcode: Trapping Rain Water
- 38 - Trapping Rain Water
- 使用SwingWorker之一
- hdu 1176 免费馅饼
- INT_MIN
- Lesson 3 Part 1 Locally weighted regression
- create_workqueue 和create_singlethread_workqueue的区别
- Trapping Rain Water
- 设计模式之四:单例模式
- 使用SwingWorker之二
- The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resu
- 详解ORACLE中游标的生命周期
- 【XCode】Managing Images with Xcode 5 Asset Catalogs
- HashMap的工作原理
- 使用SwingWorker之三
- Erlang基础 - 函数、子句、子句保护式