/ **
*有効、:.によるかどうかを判断独IS -ルールの数独パズル
「」。*数独の取締役会は、部分的に満たされたBEでした、空のセルは、文字がWHEREで満たされている
*一部有効で数独を満たしました。
*
*有効な多数の場合にのみ、次の規則に従って決定さ:
*ナンバープレートが部分的にのみ充填されてもよい、空のセルは、前記文字を埋めます「」空のセルが使用されている。代わりに。
*部分的にだけでは満たされたの数が効果的です。
* /
分析:
。*この質問の目的は、これだけの数が有効であることを意味し、偽、真に戻ります
* 3例がありますが、真実ではありませんfalseを返します:
同じ番号は、出会いを確立していないように見えた場合、各ラインサイクルを:*最初の。スキップ
*秒:各カラムサイクルを、同じ番号に遭遇スキップ確立されていないように見えます。
*第三:同じ番号は、ケースを確立していないと思われる場合は、どんな小さな正方形のサイクルをスキップ(このサイクルは、方法、法律を見てする必要があります)
java.util.HashSetのインポート、 インポートjava.util.Set; / ** !*判断した場合は、:.数独パズルによると、有効な数独IS -ルールで 数独ボードで*部分的に充填することができ、空のセルを持つWHEREいっぱいでです「」。文字 有効です*部分的に満たされた数独。 * *番号のみを決定し、次の規則に従って有効です 。 『』 *ナンバープレートは、部分的にしか満たされたことがあり、空のセルを特徴と文字を記入してください。空のセルが使用されている。代わりに。 *部分的にだけでは満たされたの数が効果的です。 * *解像度: 。*この質問の目的は、これだけの数が有効であることを意味し、偽、真に戻ります * 3例がありますが、事実ではない、falseを返します: *最初:各ラインサイクルを、同じ番号が確立されていないように見えた場合、出会いはスキップしてください。 *秒:各カラムサイクルを、同じ番号に遭遇スキップ確立されていないように見えます。 *第三:同じ番号が確立されていないように見えた場合、サイクルごとに小さな正方形を遭遇した。(このサイクルは、方法、法律を見てする必要があります)スキップ * / ' ''、 '7'、 ''、 ''、 ''、 ''、 ''}、 {'。 ''。 ''。 '' 1' 、 '。 ' ''、 ''、 ''、 ''}、 {'。 ''。 ''。 ''。 ''。 ''。 ''。 ''。 ' ''}、 。。。。。。。。。{' '' '' '' '' '' '' '' '' '} }。 System.out.println(Main40.isValidSudoku(ボード)); } { ' ''。 ''。 ''。 ''。 ''。 ''。 ''。 ''。 '}、{'。 ''。 ''。' '' '' '' '' '' ''、、、、、、} }。System.out.println(Main40.isValidSudoku(ボード)); } { ' ''。 ''。 ''。 ''。 ''。 ''。 ''。 ''。 '}、{'。 ''。 ''。' '' '' '' '' '' ''、、、、、、} }。System.out.println(Main40.isValidSudoku(ボード)); } パブリック静的ブールisValidSudoku(CHAR [] []基板){ セット<文字>設定=新しいHashSetの<>(); //第一种情况: (INT i = 0; iはboard.length <; iは++)のために{ ための(int型J = 0; J <ボード[I] .LENGTH; J ++){ IF(ボード[I] [J ''] ==){ 続けます。 } IF(set.contains(ボード[I] [J])!){ set.add(ボード[I] [J])。 }他{ falseを返します。 } } set.clear()。 } //第二种情况: (INT J = 0; J <ボード[0] .LENGTH; J ++)のために{ (INT i = 0; iはboard.length <; iは++)のために{ IF(ボード[I] [J] == 'は'){ 続けます。 } IF(set.contains(ボード[I] [J])!){ set.add(ボード[I] [J])。 }他{ falseを返します。 } } set.clear()。 } //第三种情况: (int型のk = 0 kは++; kは<board.length)のための{ {(iが++; I <K / 3 * 3 + 3 I = K / 3 * 3 INT)のための (用int型J = K%3 * 3、J <K%3 * 3 + 3; J ++){ '' IF(ボード[I] [J] ==){ 続けます。 } (もし!set.contains(ボード[I] [J])){ set.add(ボード[I] [J])。 }他{ falseを返します。 } } } set.clear()。 } trueを返します。 } }