Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical 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.
Note: You may not slant the container.
Solution:
public class Solution {
public int maxArea(int[] height) {
//position variables
int leftlength = 0, rightlength = 0, leftposition = 0, rightposition = height.length-1;
//volume
int v = 0;
while(leftposition < rightposition){
leftlength = height[leftposition];
rightlength = height[rightposition];
v = Math.max(v, Math.min(leftlength, rightlength)*(rightposition-leftposition));
if(leftlength<rightlength){
leftposition++;
}
else{
rightposition--;
}
}
return v;
}
}