给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
返回容器可以储存的最大水量。
思路:
双指针,面积=(右指针-左指针)* 两个值的最小值,移动两个值更小的那个指针,左指针向右,右指针向左。
var maxArea = function(height) {
let max=0
let capacity
// for(let i=0;i<height.length;i++){
// for(let j=i+1;j<height.length;j++){
// capacity=(j-i)*(height[i]>height[j]?height[j]:height[i])
// if(capacity>max){
// max=capacity
// }
// }
// }
let l = 0
let r = height.length-1
while(l<r){
capacity=(r-l)*(height[l]>height[r]?height[r]:height[l])
max=Math.max(capacity,max)
if(height[l]<=height[r]){
++l;
}
else{
--r;
}
}
return max
};