[LC] 221最大広場

0と1で満たされた2Dバイナリ行列を考えると、1つだけのその面積を返すを含む最大の広場を見つけます。

例:

入力: 

1 0 1 0 0
1 0 1  1 1
1 1 1  1 1
1 0 0 1 0

出力:4

クラスソリューション{
     公共 のint maximalSquare(CHAR [] []行列){
         場合(マトリックス== NULL || matrix.length == 0 ){
             戻り 0 
        }
        
        INT行= matrix.length。
        INT COL =行列[0 ] .LENGTH。
        INT [] [] = SQR 新しい INT [行+ 1] [COL + 1 ]。
        int型のres = 0 ;

        以下のためにINT ; I <=行; iが1 = I ++ ){
             ためINT J = 1; J <= COL; J ++ ){
                 場合(行列[I - 1] [J - 1] == '1' ){
                                    SQR [I] [J] = Math.min(Math.min(SQR [I - 1] [j]は、SQR [I]、[J - 1])、SQR [I - 1] [J - 1])+ 1 ;
                RES = Math.max(RES、SQR [I] [J])。
                }
            }
        }
        リターン解像度は* 解像度を。
    }
}

おすすめ

転載: www.cnblogs.com/xuanlu/p/12106634.html
LC1