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

题目:

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 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;

    }
}
相关推荐
WW_千谷山4_sch1 小时前
洛谷B3688:[语言月赛202212]旋转排列(新解法:deque双端队列)
数据结构·c++·算法
Zachery Pole1 小时前
【代码随想录】二叉树
算法
漂流瓶jz1 小时前
UVA-11214 守卫棋盘 题解答案代码 算法竞赛入门经典第二版
c++·算法·dfs·aoapc·算法竞赛入门经典·迭代加深搜索·八皇后
浮生09192 小时前
DHUOJ 基础 88 89 90
算法
v_for_van2 小时前
力扣刷题记录7(无算法背景,纯C语言)
c语言·算法·leetcode
先做个垃圾出来………2 小时前
3640. 三段式数组 II
数据结构·算法
tankeven4 小时前
HJ93 数组分组
c++·算法
Σίσυφος19004 小时前
LM 在 PnP(EPnP / P3P)的应用
算法
陈天伟教授4 小时前
人工智能应用- 人工智能交叉:01. 破解蛋白质结构之谜
人工智能·神经网络·算法·机器学习·推荐算法
LightYoungLee4 小时前
General-behavior interview tutorials
算法