首页 > 代码库 > leetcode--Container With Most Water

leetcode--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.

public class Solution {	/**	 * The algorithm is simple. We use two pointers to calculate the max area.	 * @param height -int array,	 * @return int -the max area	 * @author Averill Zheng	 * @version 2014-06-21	 * @since JDK 1.7	 */     public int maxArea(int[] height) {       int max = 0;		int start = 0, end = height.length - 1;		while(start < end){			int temp = Math.min(height[start], height[end]) * (end - start);			max = (max < temp) ? temp : max;			if(height[start] <= height[end])				++start;			else				--end;		}				return max;    }}