【重点】【双指针】42. 接雨水

题目
重点题目,深刻理解!!!

解法1:备忘录

O(N) + O(N)

class Solution {
   
    public int trap(int[] height) {
   
        int n = height.length, res = 0;
        int[] lMax = new int[n];
        int[] rMax = new int[n];
        lMax[0] = height[0];
        rMax[n - 1] = height[n - 1];
        for (int i = 1; i < n; ++i) {
   
            lMax[i] = Math.max(lMax[i - 1], height[i]);
        }
        for (int i = n - 2; i >=0; --i) {
   
            rMax[i] = Math.max(rMax[i + 1], height[i]);
        }

        for (int i = 0; i < n; ++i) {
   
            res += Math.min(lMax[i], rMax[i]) - height[i];
        }

        return res;
    }
}

解法2:双指针

O(N) + O(1)

class Solution {
   
    public int trap(int[] height) {
   
        int n = height.length;
        int left = 0, right = n - 1, res = 0, lMax = height[0], rMax = height[n - 1];
        while (left <= right) {
   
            lMax = Math.max(lMax, height[left]);
            rMax = Math.max(rMax, height[right]);
            if (lMax <= rMax) {
   
                res += lMax - height[left];
                ++left;
            } else {
   
                res += rMax - height[right];
                --right;
            }
        }

        return res;
    }
}

相关推荐

  1. 重点】【指针42. 雨水

    2023-12-07 17:36:08       41 阅读
  2. leetcode-42. 雨水指针,前缀)

    2023-12-07 17:36:08       12 阅读
  3. 【困难】42. 雨水

    2023-12-07 17:36:08       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 17:36:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 17:36:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 17:36:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 17:36:08       20 阅读

热门阅读

  1. mybatis 实现批量更新的三种方式

    2023-12-07 17:36:08       28 阅读
  2. 【LVS实战】05 keepalived脑裂问题解决方案

    2023-12-07 17:36:08       28 阅读
  3. 再见了 shiro

    2023-12-07 17:36:08       36 阅读
  4. ARM Cortex-A、Cortex-M和Cortex-R简介

    2023-12-07 17:36:08       32 阅读
  5. 【ARM AMBA AXI 入门 18 - AXI4 NSAID 和 NS 详细介绍】

    2023-12-07 17:36:08       35 阅读
  6. [ffmpeg] find 编码器

    2023-12-07 17:36:08       37 阅读
  7. css3新增的伪类有哪些?

    2023-12-07 17:36:08       36 阅读