leetcode-042:Trapping Rain Water
2013-09-02 21:47
441 查看
class Solution { public: int trap(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function int result=0; if(n==0) return result; int maxId=0; for(int i=0;i<n;i++) { if(A[i]>A[maxId]) maxId=i; } int leftMaxId=0; for(int i=1;i<maxId;i++) { int water=min(A[leftMaxId],A[maxId])-A[i]; if(water>0) result+=water; if(A[i]>A[leftMaxId]) leftMaxId=i; } int rightMaxId=n-1; for(int i=n-1;i>=maxId;i--) { int water=min(A[rightMaxId],A[maxId])-A[i]; if(water>0) result+=water; if(A[i]>A[rightMaxId]) rightMaxId=i; } return result; } };
先找最大点;当前的水滴是左边最大和右边最大二者中较小者和height的差值。更新最大值
相关文章推荐
- LeetCode 042 Trapping Rain Water
- LeetCode 042 Trapping Rain Water
- [LeetCode]042-Trapping Rain Water
- Java for LeetCode 042 Trapping Rain Water
- [LeetCode]题解(python):042-Trapping Rain Water
- [LeetCode] Trapping Rain Water
- Leetcode刷题记——Trapping Rain Water(捕获雨水)
- leetcode — trapping-rain-water
- LeetCode42 Trapping Rain Water
- [leetcode] Trapping Rain Water
- 【leetcode】Trapping Rain Water
- Leetcode Trapping Rain Water
- [Leetcode]Trapping Rain Water
- Leetcode42 Trapping Rain Water
- leetcode 91: Trapping Rain Water
- Leetcode-Trapping Rain Water
- leetcode(42) - Trapping Rain Water
- [leetcode] Trapping Rain Water
- leetcode之Trapping Rain Water
- [LeetCode]Trapping Rain Water