
解法:双指针。
一个指针指前面,一个指最后面
目的是要容量最大,就是底x高。当i和j靠近,底变小,就只能增加高,所以每次i和j都移动height[i] 中较小的那个(才能保证体积最大)
代码:
public int maxArea(int[] height) {int i = 0,j =height.length-1;int ans = 0;//保证i在左边j在右边while(i < j){int temp = Math.min(height[i],height[j])*(j-i);if (temp > ans){ans = temp;}if(height[i] < height[j]){i++;}else j--;}return ans;}
