11. 盛最多水的容器
分析:
使用双指针,分别让左右指针位于数组的两端,在每次移动前,计算指针之间的面积,面积的底为指针索引的差值,高为指针值中的较小值,而每次计算完移动指针的判断依据两指针中谁的值较小,移动较小的值,因为面积受限于指针中的较小值
var maxArea = function(height) {
let right = height.length - 1;
let left = 0;
let min = 0;
let max = 0;
while(left < right){
min = height[right] > height[left] ? height[left] : height[right];
let area = (right - left) * min;
if(area > max) max = area;
height[left] > height[right] ? right-- : left++;
}
return max;
};