Saturday, July 11, 2015

Container With Most Water Show result

Medium Container With Most Water

39%
Accepted
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai)nvertical 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.
Have you met this question in a real interview? 
Yes
Example
Given [1,3,2], the max area of the container is 2.
Note
You may not slant the container.
public class Solution {
    /**
     * @param heights: an array of integers
     * @return: an integer
     */
    public int maxArea(int[] heights) {
        // write your code here
        int maxArea = 0;
        int start = 0, end = heights.length-1;
        while(start < end){
            maxArea = Math.max(maxArea, Math.min(heights[start], heights[end]) * (end - start));
            if(heights[end] < heights[start]){
                end--;
            } else start++;
        }
        return maxArea;
        
    }
    
    
}

No comments:

Post a Comment