面试算法-139-盛最多水的容器

题目

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

示例 1:

输入:[1,8,6,2,5,4,8,3,7]

输出:49

解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

java 复制代码
class Solution {
    public int maxArea(int[] height) {
        int n = height.length;
        int left = 0;
        int right = n -1;
        int max = 0;
        while(left < right){
            if(height[left] <= height[right]){
                max = Math.max(max,(height[left] * (right - left)));
                left++;
            }else{
                max = Math.max(max,(height[right] * (right - left)));
                right--;
            }   
        }
        return max;
    }
}
相关推荐
KangkangLoveNLP3 分钟前
从Swish到SwiGLU:激活函数的进化与革命,qwen2.5应用的激活函数
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理·cnn
奔跑的废柴4 分钟前
LeetCode 513. 找树左下角的值 java题解
java·算法·leetcode
Awesome Baron7 分钟前
LeetCode hot 100 每日一题(7)--3. 无重复字符的最长子串
算法·leetcode·职场和发展
SsummerC12 分钟前
【leetcode100】组合总和
数据结构·python·算法·leetcode
反方向的钟儿1 小时前
【数学建模】001
笔记·算法·数学建模
2401_827364566 小时前
迷宫【BFS+结构体\pair】
算法·宽度优先
Bruce Jue8 小时前
算法刷题--贪心算法
算法·贪心算法
慕容魏9 小时前
入门到入土,Java学习 day16(算法1)
java·学习·算法
认真的小羽❅9 小时前
动态规划详解(二):从暴力递归到动态规划的完整优化之路
java·算法·动态规划
LiDAR点云10 小时前
Matlab中快速查找元素索引号
数据结构·算法·matlab