文章摘要

智阅GPT

42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

示例 1:

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]  
输出:6  
解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。  

示例 2:

输入:height = [4,2,0,3,2,5]  
输出:9  

提示:

  • n == height.length
  • 1 &lt;= n &lt;= 2 * 10<sup>4</sup>
  • 0 &lt;= height[i] &lt;= 10<sup>5</sup>
class Solution {
public:
    int trap(vector<int>& height) {
        int left = 0, right = height.size() - 1;
        int left_max = 0, right_max = 0;
        int ans = 0;
        while (left < right) {
            if (height[left] < height[right]) {
                if (height[left] >= left_max) {
                    left_max = height[left];
                } else {
                    ans += left_max - height[left];
                }
                ++left;
            } else {
                if (height[right] >= right_max) {
                    right_max = height[right];
                } else {
                    ans += right_max - height[right];
                }
                --right;
            }
        }
        return ans;
    }
};

image


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

Ivan

entp 辩论家

站长

不具版权性
不具时效性

文章内容不具时效性。若文章内容有错误之处,请您批评指正。

目录

Ivan保安为您保驾护航

5 文章数
4 分类数
0 评论数
20标签数
最近评论

热门文章

15. 三数之和

2025-07-21

9
42. 接雨水

2025-07-21

2
1. 两数之和

2025-07-21

2