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;
    }
};