原题:
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is 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 and n is at least 2.
题意:求面积
代码和思路:
//本题是双指针的应用,要求面积最大的一个
class Solution {
public int maxArea(int[] height) {
int l = 0;
int r = height.length-1;
int max = 0;
while(l<r){
max = Math.max( max, Math.min(height[l],height[r])*(r-l));
//较小的指针限制了面积的大小,所以哪边较小就移动
if(height[l]<height[r]) l++;
else r--;
}
return max;
}
}