Container With Most Water

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.

 1 public class Solution {
 2     public int maxArea(int[] height) {
 3         int len = height.length;
 4         if(len<=1) return 0;
 5         int area = 0;
 6         int start = 0;
 7         int end = len-1;
 8         while(start<end){
 9             area = Math.max(area,Math.min(height[start],height[end])*(end-start));
10             if(height[start]<height[end]){
11                 start++;
12             }
13             else{
14                 end--;
15             }
16         }
17         return  area;
18     }
19 }
View Code

 

posted @ 2014-02-22 13:12  krunning  阅读(219)  评论(0编辑  收藏  举报