Container With Most Water

 Total Accepted: 38727 Total Submissions: 121231My Submissions

Question Solution 


Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.

Note: You may not slant the container.




public class Solution {

    int max(int a, int b){

        if(a>b)

            return a;

        else

            return b;

    }

    public int maxArea(int[] height) {

        

       int right = height.length-1, left =0;

        int res = 0;


        while(left < right)

        {

            res = max(res, (right-left)*(height[right]<height[left]?height[right--]:height[left++]));    

        }

        return res;

    }

}