2014年5月13日星期二

Loop Approach - Container with Most Water *

The idea is to loop the array, from both side to middle.

public class Solution {
    public int maxArea(int[] height) {
        if(height == null || height.length < 2){
            return 0;
        }
        int begin = 0;
        int end = height.length - 1;
        int curMax = 0;
        while(begin < end){
            if(curMax < (end - begin) * (height[end] > height[begin]?height[begin]:height[end])){
                curMax = (end - begin) * (height[end] > height[begin]?height[begin]:height[end]);
            }
            if(height[begin] < height[end]){
                begin++;
            }else{
                end--;
            }
        }
        return curMax;
    }
}

没有评论: