42. 接雨水
需要考虑前两个
class Solution {
public:
int trap(vector<int>& v) {
int res = 0;
vector<int>s;
for(int i=0;i<v.size();i++){
while(!s.empty()&&v[s.back()]<=v[i]){
int idx = s.back();
s.pop_back();
if(!s.empty()){
int left = s.back();
int width = i - left - 1;
int height = min(v[left],v[i]) - v[idx];
res += width * height;
}
}
s.push_back(i);
}
return res;
}
};