11. Container With Most Water

题目分析

暴力实现即可,注意短板效应,还有何时移动边界。

代码

class Solution {
    public int maxArea(int[] height) {
        int ans = 0;
        int l = 0, r = height.length - 1;
        while(l < r) {
            // 注意短板效应,所以要取左右高度的最小值
            ans = Math.max(ans, Math.min(height[l], height[r]) * (r - l));
            // 如果是左边的更矮,那么往右移动左边界(看看右边有没有更高的)
            if(height[l] < height[r]) {
                l ++;
            } else {
                r --;
            }
        }
        return ans;
    }
}

你可能感兴趣的:(11. Container With Most Water)