面试经典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;
}

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

相关推荐
Kent_J_Truman3 分钟前
【交互 / 差分约束】
算法
ghie90908 分钟前
x-IMU matlab zupt惯性室内定位算法
人工智能·算法·matlab
Magnum Lehar17 分钟前
3d游戏引擎的Utilities模块实现
c++·算法·游戏引擎
意倾城27 分钟前
JVM内存模型
java·jvm
普通的冒险者39 分钟前
几个简单的数组小练习(适合初学)
java·数据结构
keke1039 分钟前
Java【10_1】用户注册登录(面向过程与面向对象)
java·python·intellij-idea
程序员buddha39 分钟前
Spring & Spring Boot 常用注解整理
java·spring boot·spring
C_V_Better1 小时前
Java Spring Boot 控制器中处理用户数据详解
java·开发语言·spring boot·后端·spring
胡子洲1 小时前
Spring Boot 应用中实现基本的 SSE 功能
java·spring boot·后端
t198751281 小时前
基于Qt的OSG三维建模
java·开发语言