Leetcode-11.盛最多水的容器

1. 题目描述

在这里插入图片描述

2. 暴力解法

    public int maxArea(int[] height) { 
        int max = 0;
        for (int i = 0 ; i < height.length -1; ++i){
            for (int j = i+1;j<height.length; ++j){
                int area = (j -i ) * Math.min(height[i],height[j]);
                max = Math.max(area,max);
            }
        }
        return max;
    }
}

在这里插入图片描述

3. 双指针解法

    public int maxArea(int[] height) { 
        int max = 0;
        for(int i = 0,j = height.length -1; i<j;){
            int minHight = height[i] < height[j] ? height[i++]:height[j--];
            int area = (j-i+1) * minHight;
            max = Math.max(max,area);
        }
        return max;
    }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43704599/article/details/107230476
今日推荐