题目:
给定n个代表海拔图的非负整数,其中每个条的宽度为1,计算下雨后它能捕获多少水。
输入: [0,1,0,2,1,0,1,3,2,1,2,1]
输出: 6
思路:
从两边开始,最左和最右比较,从较小的那一方开始,因为这样的话从这边开始的每一步的计算的都可以能够把水积住(因为短板效应)。设置左右的最大值,然后往中间去的过程中改变该值,如果遇见小于max的值,就用ta和max的差加到res中。
code:
class Solution {
public:
int trap(vector<int>& height) {