JSFiddle - React, Tailwind, and code Playground
by Eugen Sunic
JavaScript
function MaximalRectangle(strArr) {
let accArr = [0, 0, 0, 0, 0, 0];
const twoDimensionalArr = [];
// create 2D array
for (i = 0; i < strArr.length; i++) {
let tempArr = [];
for (j = 0; j < strArr[i].length; j++) {
tempArr.push(strArr[i][j]);
}
twoDimensionalArr.push(tempArr);
}
for (i = 0; i < twoDimensionalArr.length; i++) {
for (j = 0; j < twoDimensionalArr[i].length; j++) {
accArr[j] = +twoDimensionalArr[i][j] === 0 ? 0 : +accArr[j] + 1
if (+twoDimensionalArr[i][j] === 0) {
accArr[j] = 0;
} else {
accArr[j] = +accArr[j] + 1
}
}
}
accArr = accArr.filter(x => !!x)
minValue = Math.min(...accArr);
let maxArea = 0;
accArr.forEach(_ => {
maxArea += minValue;
})
return maxArea;
}
MaximalRectangle(['100111', '101101', '011111', '001111']);