自学内容网 自学内容网

《双指针篇》---盛最多水的容器_Java(中等但简单)

题目传送门 

1.首先计算出暂时的盛水体积

2.求暂时体积和最大体积max的最大值

3.更新right和left。如果height[left] > height[right] 那么right--否则left++;

class Solution {
    public int maxArea(int[] height) {
        int left = 0,right = height.length-1; int ret = 0;
        while (left < right){
            /**
             * 暂时的容量
             */
            int temp = Math.min(height[left],height[right]) * (right-left);
            /**
             * 更新容量,找到最大值
             */
            ret = Math.max(temp,ret);
            /**
             *
             */
            if(height[left] > height[right]){
                right--;
            }else {
                left++;
            }
        }
        return ret;
    }
}


原文地址:https://blog.csdn.net/m0_73456341/article/details/143489908

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!