给定一个长度为 n
的整数数组 height
。有 n
条垂线,第 i
条线的两个端点是 (i, 0)
和 (i, height[i])
。
找出其中的两条线,使得它们与 x
轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
说明:你不能倾斜容器。
好的吧,一开始,虽说是想到了双指针,但是,想的有点天真且离谱
思路其实很简单,短的指针是下限,如果移动长的指针,就会越来越小,所以只能移动短指针
如下,就没什么好解释的了
var maxArea = function(height) {
let a = 0,b = height.length - 1;
let maxArea = 0
while(a < b){
maxArea = Math.max( Math.min(height[a],height[b]) * (b-a),maxArea)
height[a] < height[b] ? a++ : b--
}
return maxArea
};