LeetCode : Trapping Rain Water
来源:互联网 发布:php删除二维数组重复 编辑:程序博客网 时间:2024/04/29 06:18
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) { // Start typing your C/C++ solution below // DO NOT write int main() function if(n == 0) return 0; vector<int> left(n); vector<int> right(n); int sum = 0; int leftMax = 0; int rightMax = 0; for(int i = 0, j = n-1; i<n; ++i, --j){ if(A[i] > leftMax){ leftMax = A[i]; } left[i] = leftMax; if(A[j] > rightMax) rightMax = A[j]; right[j] = rightMax; } for(int i = 0; i< n; ++i){ int min = left[i] < right[i] ? left[i] : right[i]; sum += min - A[i]; } return sum; }};
- 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] 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
- Linux 学习笔记(一)从何入手
- 使用mtrace检查内存溢出
- 【去广告插件】for weibo V4 V5,renren
- camera YUV格式
- POJ 1860 Currency Exchange
- LeetCode : Trapping Rain Water
- Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS
- YUV格式详解
- QDataStream传递自定义的数据类型
- gcc/g++执行的步骤及参数简介
- DIT和DIF的基2FFT算法
- yuv420读取顺序
- 重新学习c++(续)
- 互操作体系