这个题思路求解最大水面积 面积=底*max(ai,aj) 两个数值都在不停的变化 于是我们可以设想 当底最长时开始 从较小的一边开始移动 直到找到比当前边大的一条线段为止 再计算面积与最大的比较
/**
* @param {number[]} height
* @return {number}
*/
var maxArea = function(height) {
var i = 0, j = height.length - 1,max = Math.min(height[j],height[i]) * (j - i),p,tempmax;
while(i < j) {
if(height[i] < height[j]) {
p = i + 1;
while(height[p] <= height[i] && p < j)
p++;
tempmax = Math.min(height[j],height[p]) * (j - p);
if(max < tempmax)
max = tempmax;
i = p;
} else {
p = j - 1;
while(height[p] <= height[j] && p > i)
p--;
tempmax = Math.min(height[i],height[p]) * (p - i);
if(max < tempmax)
max = tempmax;
j = p;
}
}
return max;
};