0
点赞
收藏
分享

微信扫一扫

力扣11. 盛最多水的容器(双指针)

舟海君 2022-04-13 阅读 78
java

示例:

输入:[1,8,6,2,5,4,8,3,7]
输出:49 
解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水
(表示为蓝色部分)的最大值为 49。
class Solution {
    public int maxArea(int[] height) {
        int max=0;
        int cur=0;
        int left=0;
        int right=height.length-1;
        while(left<right){
            cur=(right-left)*(Math.min(height[right],height[left]));
            max=Math.max(max,cur);
            /*选择高较小的指针进行移动,保留容器较高的那条边,放弃较小的边,以获得有更高的边的机会。*/
            if(height[left]>height[right]) right--;
            else left++;
        }
        return max;
    }
}

 

力扣题目:11. 盛最多水的容器

举报

相关推荐

0 条评论