42. 接雨水
思路: 接水的值=min(左边最大,右边最大)-height[i]
class Solution {
public: //思路:ans += min(left, right)-height[i]
int trap(vector<int>& height) {
int size = height.size();
if(size==0) return 0;
vector<int> left(size,height[0]), right(size,height[size-1]);
for(int i=1;i<size;i++)
left[i] = max(left[i-1], height[i]);
for(int i=size-2;i>=0;i--)
right[i] = max(right[i+1], height[i]);
int res = 0;
for(int i=0;i<size;i++)
res += min(left[i], right[i])-height[i];
return res;
}
};