美文网首页
Container With Most Water

Container With Most Water

作者: 走地牙 | 来源:发表于2018-07-07 11:10 被阅读0次

/*

失败 超时o(n^2) 的时间复杂度;

两层for循环 遍历数组 heigh小的 * x轴的差值 大的数储存在ans中;

class Solution {

    public int maxArea(int[] height) {

        if(height.length < 2) return 0;

        int ans = 0;

        for(int i = 0; i < height.length - 1; i++) {

            for(int j = i + 1; j < height.length; j++) {

                ans = Math.max(ans, (j - i) * Math.min(height[i], height[j]));

            }

        }

        return ans;

    }

}

*/

//思路是 x轴确定了宽度 y轴决定了高度;

//两个指针 一个从头开始 一个从尾开始  从y轴来看 决定水体面积的是短的一端 所以移动短的一端可以得到最后的答案。

class Solution {

    public int maxArea(int[] height) {

        if(height.length < 2) return 0;

        int ans = 0;

        int start = 0;

        int end = height.length - 1;

        while(start < end) {

            ans = Math.max(ans, (end - start) * Math.min(height[start], height[end]));

            if(height[start] < height[end]) {

                start++;

            }else {

                end--;

            }

        }

        return ans;

    }

}

相关文章

网友评论

      本文标题:Container With Most Water

      本文链接:https://www.haomeiwen.com/subject/uwtwuftx.html