冲天香阵透长安,满城尽带黄金甲。这篇文章主要讲述42. Trapping Rain Water相关的知识,希望能为你提供帮助。
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(vector< int> & height) { int low=0,high=height.size()-1,res=0; int leftmax=0,rightmax=0; while(low< =high){ if(height[low]< height[high]){ leftmax=max(leftmax,height[low]); res+=leftmax-height[low]; low++; } else { rightmax=max(rightmax,height[high]); res+=rightmax-height[high]; high--; } } return res; } };
【42. Trapping Rain Water】
推荐阅读
- android WebView详细使用方法(转)
- Android-事件分发机制框架概述
- Android Studio 2.3版本 Run项目不能自动启动APP的问题 (转)
- 作业app分析
- SpringBoot启动报错This application has no explicit mapping for /error.....
- Android开始之 BroadcastReceiver
- android provider 使用解析
- 微软小娜app案例分析
- Android是如何判断APK是否不明来源的