题目描述:
思路:使用双指针指向数组的左右边界,每次移动最小的一端并保留最大值。
class Solution {
public int maxArea(int[] height) {
int res=0;
int left=0,right=height.length-1;
while(left<right){
if(height[left]<height[right]){
res=Math.max(res,height[left]*(right-left));
left++;
}else{
res=Math.max(res,height[right]*(right-left));
right--;
}
}
return res;
}
}