JSFiddle - React, Tailwind, and code Playground
by Kai Wang
JavaScript
function maxArea(heights) {
let max_area = 0;
let rv = [];
for (let i = 0; i < heights.length - 1; i++) {
for (let j = i + 1; j < heights.length; j++) {
let h = Math.min(heights[i], heights[j]);
let area = h * (j - i);
area > max_area ? rv = [i, j] : null;
area > max_area ? max_area = area : null;
}
}
return rv
}
function maxArea1(heights) {
let max_area = 0;
let rv = [];
let l = 0,
r = heights.length - 1;
while (l < r) {
let area = Math.min(heights[l], heights[r]) * (r - l);
if (area > max_area) {
max_area = area;
rv = [l, r];
}
heights[l] > heights[r]?r--:l++;
}
return rv
}
var a = [1, 2, 2, 3, 4, 5];
var b = maxArea1(a);
console.log(b)