class Solution {
public:
int trap(vector& heights) {
vector left, right;
int length = heights.size();
// left[0]=heights[0];
// right[length-1]=heights[length-1];
int water=0;
for(int i=1; i<length; ++i)
left[i] = max(left[i-1], heights[i]);
for(int i=length-2; i>=0; --i)
right[i] = max(right[i+1], heights[i]);
for(int i=1; i<length-1; ++i){
int temp = min(left[i], right[i]);
water += max(0, temp - heights[i]);
}
return water;
}
};
Leetcode42.接雨水
最新推荐文章于 2025-07-21 15:39:00 发布
本文介绍了一种雨水收集算法,通过计算给定高度数组中可以收集的最大雨水量,利用两次遍历和动态规划的思想,实现了高效的解决方案。
1848

被折叠的 条评论
为什么被折叠?



