Givennnon-negative integersa1,a2, ...,an, where each represents a point at coordinate (i,ai).nvertical lines are drawn such that the two endpoints of lineiis at (i,ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container andnis at least 2.
分析:这题是水桶问题最简单的一道,找左右两点,形成的矩阵面积最大。
方法:双指针
class Solution {
public int maxArea(int[] heights) {
if(heights == null || heights.length < 2){
return 0;
}
int left = 0;
int right = heights.length -1;
int max = 0;
while(left < right){
if(heights[left] < heights[right]){
max = Math.max(max, heights[left]*(right-left));
left++;
} else{
max = Math.max(max, heights[right]*(right-left));
right--;
}
}
return max;
}
}