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

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

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

说明:你不能倾斜容器。

思路

  1. Area = Math.min(items[left], items[right]) * (right - left)
  2. 先以两端为界,较短的一端朝对端移动,依次记录面积,进而得出最大值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var maxArea = function (items) {
let left = 0
let right = items.length - 1
let result = 0
while (left < right) {
result = Math.max(result, Math.min(items[left], items[right]) * (right - left))
if (items[left] < items[right]) {
++left
} else {
--right
}
}
return result
}