小菜鸟解LeetCode之盛最多水的容器

148 阅读1分钟

来源:力扣(LeetCode)
链接:leetcode-cn.com/problems/co…
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题目描述

给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。

暴力破解

  • 通过双重循环,i慢j快
var maxArea = function (height) {
    let max = 0
    let preMax = 0
    for (i = 0; i < height.length; i++) {
        for (j = i + 1; j < height.length; j++) {
            max = Math.min(height[i] * (j - i), height[j] * (j - i))
            if (max > preMax) preMax = max
        }
    }
    return preMax
};
  • 测试结果

小编在此抱歉,最近太忙了,实在抽不出身,后期会更新其他思路-_-。sorry!