装最多水的容器
给定 n 个非负整数 a1, a2, …, an, 每个数代表了坐标中的一个点 (i, ai)。画 n 条垂直线,使得 i 垂直线的两个端点分别为(i, ai)和(i, 0)。找到两条线,使得其与 x 轴共同构成一个容器,以容纳最多水。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public class { * @param heights: an array of integers * @return: an integer */ public int maxArea(int[] heights) { int maxtemp=0; int max=0; for(int i=0;i<heights.length;i++){ for(int j=heights.length-1;j>i;j--){ if(heights[j]>heights[i]||heights[j]==heights[i]){ maxtemp=maxtemp>(heights[i]*(j-i))?maxtemp:heights[i]*(j-i); break; } maxtemp=maxtemp>(heights[j]*(j-i))?maxtemp:heights[j]*(j-i); } max=max>maxtemp?max:maxtemp; } return max; } }
|
近期评论