https://leetcode.com/problems/container-with-most-water/

Approach 1: Brute Force

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
* @param {number[]} height
* @return {number}
*/
var maxArea = function(height) {
const len = height.length;
let ans = 0;
for (let i = 0; i < len - 1; i++) {
for (let j = 1; j < len; j++) {
ans = Math.max(ans, (j - i) * Math.min(height[i], height[j]));
}
}
return ans;
};

Approach 2: Two Pointer Approach

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