package com.interview.books.leetcodeoj;
/**
* Created_By: stefanie
* Date: 14-12-18
* Time: 下午2:33
*/
public class LOJ11_ContainerWithMostWater {
//area = Math.min(height[i], height[j]) * (j - i);
//width = (j-i) not (j-i+1)
public int maxArea(int[] height) {
if(height.length <= 1) return 0;
int max = 0;
int left = 0;
int right = height.length - 1;
while(left < right){
int area = Math.min(height[left], height[right]) * (right - left);
max = Math.max(max, area);
if(height[left] < height[right]){
int prev = height[left];
left++;
while(left < right && height[left] < prev) left++;
} else {
int prev = height[right];
right--;
while(left < right && height[right] < prev) right--;
}
}
return max;
}
}