int trap(vector<int> &height) {
deque<int> d;
int res = 0;
for (int i = 0; i < height.size(); i++) {
while (!d.empty() && height[d.back()] < height[i]) {
int index = d.back();
d.pop_back();
while (!d.empty() && height[index] == height[d.back()])
d.pop_back();
if (!d.empty())
//求解宽和长
res += (min(height[i], height[d.back()]) - height[index]) * (i - d.back() - 1);
}
d.emplace_back(i);
}
return res;
}
42. 接雨水
最新推荐文章于 2021-04-05 02:01:08 发布