题解 | #盛水最多的容器#
盛水最多的容器
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; } }