leetcode-042:Trapping Rain Water
来源:互联网 发布:指南针软件怎么退款 编辑:程序博客网 时间:2024/05/15 06:44
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
- LeetCode 042 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
- UDPSend
- 大连实训报告
- linux 空格 和 tab 的转换,使用 expand 和 unexpand
- hdu3328之栈的应用
- fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory
- leetcode-042:Trapping Rain Water
- ExtJS4.2学习(9)——MVC
- ant war
- Ubuntu12.04下删除文件夹内所有的.svn文件
- java.lang.UnsatisfiedLinkError: Native method not found 三种可能解决方案
- 【打开网页一片空白 可以上Q却不能上网】firefox无法在XXX找到该服务器的真相
- 数据结构-双向链表
- 【js学习笔记-050】--js的函数式编程
- FSharp.Data 程序集之 CSV 文件解析