LeetCode Trapping Rain Water
2014-06-04 20:49
357 查看
题目:
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!
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 Marcos for contributing this image!
class Solution { public: int trap(int A[], int n) { if (n <= 2) return 0; int maxH = 0; //left[i]表示i左边最高的值,right[i]表示i右边最高的值 int *left= new int , *right = new int ; for (int i = 0; i < n; i++) { maxH = max(maxH, A[i]); left[i] = maxH; } maxH = 0; for (int i = n - 1; i >= 0; i--) { maxH = max(maxH, A[i]); right[i] = maxH; } int ans = 0; for (int i = 0; i < n; i++) ans += (min(left[i], right[i]) - A[i]); delete[] left; delete[] right; return ans; } };
相关文章推荐
- [leetcode 42] Trapping Rain Water
- [week 4][leetcode][array] Trapping Rain Water
- [LeetCode] Trapping Rain Water
- leetcode - Trapping Rain Water
- [leetcode]Trapping Rain Water
- leetcode Trapping Rain Water
- Leetcode | Trapping Rain Water
- LeetCode - Trapping Rain Water
- [Leetcode] Trapping Rain Water
- leetcode - Trapping Rain Water
- [LeetCode] 接雨水,题 Trapping Rain Water
- 【leetcode】Trapping Rain Water
- LeetCode Trapping Rain Water
- LeetCode(42)--Trapping Rain Water
- LeetCode 42 --- Trapping Rain Water
- Java [Leetcode 42]Trapping Rain Water
- 【LeetCode with Python】 Trapping Rain Water
- [leetcode]Trapping Rain Water
- leetcode解题笔记-Trapping Rain Water
- leetcode Trapping Rain Water