[LeetCode] 11. Container With Most Water

装水最多的容器。算是two pointer类型的题里面比较弱智的一道吧。提议是用数组表示出一堆木桶的高度,问如果用其中两个木桶做左右的墙壁,能储存的水量最大是多少。搞懂题意,代码基本也就出来了。

时间O(n)

空间O(1)

 1 /**
 2  * @param {number[]} height
 3  * @return {number}
 4  */
 5 var maxArea = function (height) {
 6     let res = 0;
 7     let left = 0;
 8     let right = height.length - 1;
 9     while (left < right) {
10         res = Math.max(res, Math.min(height[left], height[right]) * (right - left));
11         if (height[left] < height[right]) {
12             left++;
13         } else {
14             right--;
15         }
16     }
17     return res;
18 };

猜你喜欢

转载自www.cnblogs.com/aaronliu1991/p/11781368.html