[LeetCode]Container With Most Water

来源:互联网 发布:印度人眼中的中国知乎 编辑:程序博客网 时间:2024/05/17 02:10

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.

题解:从网上看到的,只知道left++,right--,表示不是很懂,没有证明。

public class Solution {    public int maxArea(int[] height) {                if(height == null || height.length ==1)             return 0;       int area =0,max = 0;       int left = 0,right =height.length-1;       while(left<right){                      max = Math.max(max,(right-left)*Math.min(height[left],height[right]));           if(height[left]>height[right])                    right--;           else                    left++;       }       return max;    }}



0 0