面试算法-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;
    }
}
相关推荐
摘星编程3 小时前
**解锁Agent智能体新纪元:自主协作、任务分解与人类意图对齐的终极指南**
算法
mmz12073 小时前
逆序对问题(c++)
c++·算法
化学在逃硬闯CS3 小时前
Leetcode110.平衡二叉树
数据结构·c++·算法·leetcode
谢铭轩3 小时前
题解:P8035 [COCI 2015/2016 #7] Otpor
c++·算法
listhi5203 小时前
双目立体视觉中的彩色SAD算法
算法
爱coding的橙子3 小时前
Day87:2.12:leetcode 动态规划8道题,用时3h
算法·leetcode·动态规划
星火开发设计3 小时前
虚析构函数:解决子类对象的内存泄漏
java·开发语言·前端·c++·学习·算法·知识
2501_901147833 小时前
幂函数实现的优化与工程思考笔记
笔记·算法·面试·职场和发展·php
好大的月亮3 小时前
中值法排序及LexoRank排序算法简述
java·算法·排序算法
闻缺陷则喜何志丹4 小时前
【拆位法】P9277 [AGM 2023 资格赛] 反转|普及+
c++·算法·位运算·拆位法