题解 | #盛水最多的容器#
盛水最多的容器
https://www.nowcoder.com/practice/3d8d6a8e516e4633a2244d2934e5aa47
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param height int整型一维数组
* @return int整型
*/
public int maxArea (int[] height) {
// write code here
int right=height.length-1;
int left=0;
int max=0;
while(left<right){
//过滤长度n为2的
// if(height[left]<2){
// left++;
// }
// if(height[right]<2){
// right--;
// }
int leftHeight=height[left];
int rightHeight=height[right];
int len=right-left;
max=Math.max(max,len*Math.min(leftHeight,rightHeight));
//如果两边高度不相等,移动短的那一边
if(leftHeight<rightHeight){
left++;
}else{
right--;
}
}
return max;
}
}



查看10道真题和解析