[プログラマー]コードテスト練習-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
表(プレート)は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;
}
Reference
この問題について([プログラマー]コードテスト練習-57), 我々は、より多くの情報をここで見つけました https://velog.io/@krkorklo58/프로그래머스-코딩테스트-연습-57テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol