面试经典150题——盛最多水的容器

面试经典150题 day28

题目来源

力扣每日一题;题序:11

我的题解

方法一 双指针

使用两个指针left和right,初始分别指向最左侧和最右侧,然后每次移动矮的一侧。存水量=Math.min(height[left],height[right])*(right-left)
时间复杂度 :O(n)
空间复杂度:O(1)

java 复制代码
public int maxArea(int[] height) {
    int left=0,right=height.length-1;
    int res=0;
    while(left<right){
        int t=Math.min(height[left],height[right])*(right-left);
        res=Math.max(res,t);
        if(height[left]<height[right]){
            left++;
        }else{
            right--;
        }
    }
    return res;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

相关推荐
雨中飘荡的记忆9 小时前
ElasticJob分布式调度从入门到实战
java·后端
掘金安东尼10 小时前
让 JavaScript 更容易「善后」的新能力
前端·javascript·面试
掘金安东尼10 小时前
用 HTMX 为 React Data Grid 加速实时更新
前端·javascript·面试
灵感__idea12 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
UrbanJazzerati13 小时前
非常友好的Vue 3 生命周期详解
前端·面试
考虑考虑18 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_19 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
想用offer打牌20 小时前
高并发下如何保证接口的幂等性
后端·面试·状态机
Wect21 小时前
LeetCode 130. 被围绕的区域:两种解法详解(BFS/DFS)
前端·算法·typescript
Re_zero1 天前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端