JSFiddle - React, Tailwind, and code Playground
JavaScript
function largestRectangleInGrid(matrix) {
const m = matrix.length, n = matrix[0].length;
let r = 0;
for (let i = 0; i < m; i++) {
for (let j = 0; j < n; j++) {
let hMax = m - i;
for (let w = 0; matrix[i][j + w]; w++) {
for (let h = 0; h <= hMax; h++) {
if (h === hMax || !matrix[i + h][j + w]) {
hMax = h;
r = Math.max((w + 1) * h, r);
break;
}
}
}
}
}
return r;
}