当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。

盛最多水的容器

中等maxArea()
时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(n),空间 O(1)

盛最多水的容器

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

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

约定

  • 容器不可以倾斜。
  • 两条线之间的距离是宽度,较矮的线决定高度。

输入

  • height:整数数组,n == height.length,2 ≤ n ≤ 10^5,元素取值 0 ~ 10^4

输出

最多能盛的水(整数)。

示例一

输入:

height = [1,8,6,2,5,4,8,3,7]

输出:

49

解释:选择下标 1(高度 8)和下标 8(高度 7),宽度 7,高度 7,面积 49。

示例二

输入:

height = [1,1]

输出:

1

示例三

输入:

height = [4,3,2,1,4]

输出:

16

复杂度要求

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
Loading...

输入

[[1,8,6,2,5,4,8,3,7]]

预期输出

49
自定义用例