Leetcode学习笔记:#11. 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 and n is at least 2.
实现:
public int maxArea(int[] height){
int maxarea=0,l=0,r=height.length-1;
while(l<r){
maxarea = Math.max(maxarea, Math.min(height[l],height[r])*(r-l);
if(height[l] < height[r])
l++;
else
r--;
}
return maxarea;
思路:
循环,maxarea保存当前最大的面积。通过循环,不断找出可能更大的面积并保存,即最高的L和R还有l与r之间的距离。