贪心思想,从两边往中间扫,高度小的边移动:
class Solution {
public:
int trap(vector<int>& height) {
int N = height.size();
int maxL,maxR;
int L,R;
L = maxL = maxR = 0;
R = N-1;
int ans = 0;
while(L<R){
maxL = max(maxL,height[L]);
maxR = max(maxR,height[R]);
if(maxL < maxR){
ans += max(0,maxL - height[L]);
L++;
}else{
ans += max(0,maxR - height[R]);
R--;
}
}
return ans;
}
};
本文介绍了一种使用贪心算法解决雨水存储问题的方法。通过从两边向中间扫描,比较左右两边的高度,移动高度较小的一边,实现了高效计算。此算法适用于解决特定类型的面积计算问题。

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



