leetcode: Trapping Rain Water
来源:互联网 发布:mac液体唇膏三文鱼粉 编辑:程序博客网 时间:2024/06/07 20:12
仔细想想,这道题可以从横坐标每格考虑。横坐标每格可能积攒的雨水量由这格左右最高高度的最小值和该格高度的差决定。无论整体结构如何,只要该格左右最高高度确定,那么该格能够积攒多少雨水就确定了。我们统计求和每一格即可得到最后结果。 思路就是先记录每格的左侧最高和右侧最高高度。在根据这两个数据和自身高度计算即可。
class Solution {public: int trap(int A[], int n) { int res = 0; int h = A[0]; vector<int> left(n); vector<int> right(n); for( int i=0;i<n;i++ ) { left[i] = h; if( A[i] > h ) { h = A[i]; } } h = A[n-1]; for( int i=n-1;i>=0;i-- ) { right[i] = h; if( A[i] > h ) { h = A[i]; } } for( int i=0;i<n;i++ ) { int tmp = min(left[i],right[i])-A[i]; if( tmp > 0 ) { res += tmp; } } return res; }};
0 0
- 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
- LeetCode || Binary Tree Preorder Traversal
- Android中使用gson解析JSON
- Java获取数字中单个数字,实例 获取水仙花数
- hadoop学习-倒排索引
- linux 下 opendir 和 readdir 函数的应用
- leetcode: Trapping Rain Water
- 二叉查找(排序)树
- 利用Lightroom添加边框及批量导出
- Java -- 在Eclipse上使用XFire开发WebService
- 《深入Linux设备驱动程序机制》学习心得---字符设备驱动原理图解(写得好)
- Cantor的数表 数学
- 【笔记】CCS4 出现 warning: entry-point symbol other than "_c_int00" specified: "code_start" 的解决方法
- 财经郎眼:房价要跌了吗
- source insight配置(vim键盘和配色)