11. 盛最多水的容器

11. 盛最多水的容器

双指针,移动短板,更新结果

 

class Solution {
    public int maxArea(int[] height) {
        int i = 0, j = height.length - 1, res = 0;
        while(i < j) {
            res = height[i] < height[j] ?
                //(j - i)需要写到height[i++]和height[j--]前面,因为写在后面值变了
                Math.max(res, (j - i) * height[i++]):
                Math.max(res, (j - i) * height[j--]);
        }
        return res;
    }
}

 

posted @ 2021-11-03 09:51  星予  阅读(15)  评论(0编辑  收藏  举报