盛最多水容器

### 暴力方法两层循环
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
}
posted @ 2020-04-29 20:09  Samsara315  阅读(99)  评论(0)    收藏  举报