【leetcode刷题笔记】11. 盛最多水的容器

力扣

【leetcode刷题笔记】11. 盛最多水的容器_第1张图片

笔记:

本题是一道经典的面试题,最优的做法是使用「双指针」。即从两头向中间开始卷,谁小谁往中间走。为什么从小的开始卷,容器是一种木桶,以较低的值决定最终结果。

/**
 * @param {number[]} height
 * @return {number}
 */
var maxArea = function(height) {
    let max = 0;
    for (let i = 0, j = height.length - 1; i < j;) {
        let minHeight = 0;
        if (height[i] < height[j]) {
            minHeight = height[i];
            i++;
        } else {
            minHeight = height[j];
            j--;
        }
        const area = (j - i + 1) * minHeight;
        max = Math.max(max, area);
    }
    return max;
};

你可能感兴趣的:(leetcode,leetcode)