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

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

相关推荐
身如柳絮随风扬18 分钟前
Java中的CAS机制详解
java·开发语言
-dzk-1 小时前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
风筝在晴天搁浅2 小时前
hot100 78.子集
java·算法
Jasmine_llq2 小时前
《P4587 [FJOI2016] 神秘数》
算法·倍增思想·稀疏表(st 表)·前缀和数组(解决静态区间和查询·st表核心实现高效预处理和查询·预处理优化(提前计算所需信息·快速io提升大规模数据读写效率
超级大只老咪2 小时前
快速进制转换
笔记·算法
m0_706653232 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你912 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
qq_423233903 小时前
C++与Python混合编程实战
开发语言·c++·算法
TracyCoder1233 小时前
LeetCode Hot100(19/100)——206. 反转链表
算法·leetcode
m0_715575343 小时前
分布式任务调度系统
开发语言·c++·算法