### 暴力方法两层循环
var maxArea = function (height) {
    let max = 0
    for (let i = 0; i < height.length; i++) {
        for (let j = i + 1; j < height.length; j++) {
            let area = (j - i) * Math.min(height[i], height[j])
            max = max > area ? max : area
        }
    }
    return max
};
//从两头开始算,如果左边比右边大右边往左移一个,反之左边往右移一个
var maxArea = (arr) => {
  let i = 0, j = arr.length - 1
  let res = 0
  while (i < j) {
    res = Math.max(res, (Math.min(arr[i], arr[j])) * (j - i))
    if (arr[i] > arr[j]) {
      j--
    } else {
      i++
    }
  }
  return res
}

相关文章:

  • 2021-05-23
  • 2021-06-06
  • 2021-10-20
  • 2021-07-03
  • 2022-01-01
猜你喜欢
  • 2021-11-25
  • 2021-08-21
相关资源
相似解决方案