[leetcode hot 150]第十一题,盛水最多的容器

题目:

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, heighti) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。

初始化分别位于高度数组开始和结束处的左右两个指针。计算指针当前位置的两行之间的面积。如果当前面积较大,更新最大面积。将高度较小的指针移向另一个指针。

java 复制代码
public class no_11 {
    public static void main(String[] args) {
        int[] arr = {1, 8, 6, 2, 5, 4, 8, 3, 7};
        System.out.println(maxArea(arr));
    }

    public static int maxArea(int[] height) {
        int left = 0;
        int right = height.length - 1;
        int maxArena = 0;
        while (left < right) {
            int h = Math.min(height[left], height[right]);
            int w = right - left;
            int arena = h * w;
            maxArena = Math.max(arena, maxArena);

            if (height[left] < height[right]) {
                left++;
            } else {
                right--;
            }
        }
        return maxArena;

    }
}
相关推荐
动词ing1 小时前
【C语言题目练习】算法 整数反转
c语言·开发语言·算法
Nil2081 小时前
leetcode 55跳跃游戏
算法·leetcode·游戏
longlongzihan1 小时前
LeetCode 128. 最长连续序列 —— 从排序到哈希集合
数据结构·c++·算法·leetcode·排序算法·哈希表
mmmmath_31 小时前
二叉树の一些知识
数据结构·算法
DongQiShanRen1 小时前
裁决台账双向互校(下):台账哈希链、三向对账与最小落地
人工智能·深度学习·算法·目标跟踪·自然语言处理·rust·哈希算法
SWAGGY..2 小时前
【C++进阶】:(7)红黑树的原理与 C++ 实现:结构设计、插入调整及性质验证
android·java·开发语言·c++·算法
-dzk-2 小时前
【技巧】LC 31.下一个排列
算法
考研保研资料分享2 小时前
电子信息保研经验合辑:复旦直博与北邮集成电路,夏令营、预推免和专业面试
数学建模·面试·职场和发展·信息与通信
(Charon)2 小时前
【C++面试】迭代器失效是什么?vector、list、map中如何避免迭代器失效
c++·算法·面试
圣保罗的大教堂3 小时前
leetcode 3302. 字典序最小的合法序列 中等
leetcode