[プログラマー]コードテスト練習-57


レベル2-最大正方形を検索
表(プレート)は1と0で塗りつぶされます.表1は1 x 1の正方形からなる.表に1からなる最大正方形を見つけ、戻り幅の解関数を完了してください.
I/O例
board: [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]]
-> 9
function solution(board)
{
    var answer = 1;
    var x_len = board.length;
    var y_len = board[0].length;
    
    if (is_zero(board)) return 0;
    function is_zero(board) {
        for(var i=0; i<x_len; i++) {
            for(var j=0; j<y_len; j++) {
                if (board[i][j] == 1) return false;
            }
        }
        return true;
    }
    
    for(var i=1; i<x_len; i++) {
        for(var j=1; j<y_len; j++) {
            if (board[i][j] != 1) continue;
            board[i][j] = Math.min(board[i-1][j], board[i][j-1], board[i-1][j-1]) + 1;
            answer = Math.max(answer, board[i][j]);
        }
    }

    return answer ** 2;
}