leetcode hot 09
解题思路:双指针另一种思路就是两个指针从数组两边往中间走,碰到符合条件的记录下来。两个指针一开始在最两边,底边一定是最长的,记录此时的面积,然后选取两者中较短的往对方靠拢,因为底边缩短,如果面积要出现更大的,一定是较短的变长了,依靠这个思路继续遍历直到left==right,最后返回记录的最大的面积值。
class Solution {
public int maxArea(int[] height) {
int left = 0;
int right = height.length-1;
int maxarea = 0;
while(left<right){
int low = Math.min(height[left],height[right]);
if((right-left)*low>maxarea) maxarea = (right-left)*low;
if(height[left]<height[right]) left++;
else right--;
}
return maxarea;
}
}