你好,我正在研究一个数独检查器,它可以验证完成的电路板的解决方案是否正确。我目前对如何在块内进行检查感到困惑。现在我有一个布尔值如下,我检查左上块(Block1)。我不确定将其设置为哪些参数以及如何成功运行这两个 for 循环。
问题是我想检查一个 2d 数组的一部分,它也压缩成 3x3 正方形,看看该区域中的整数是否不重复,只有 1-9 出现一次。我有类似的代码,我在其中编写了这个代码来检查一行是否有重复的整数和一列。
static boolean isBlock1Valid(int[][] sudokuBoard, int referenceRow, int referenceColumn)
{
for(int i =0; i<2;i++){
for(int j=0; j<2; j++){
if(sudokuBoard[i][j]==sudokuBoard[i][j])
return false;
}
}
return true;
}//end of isBlock1Valid
这是我用作制作块检查器的参考的行检查器
static boolean IsValidRow(int[][] sudokuBoard, int referenceRow, int width)
{
//Compare each value in the row to each other
for(int i = 0; i < width; i++)
{
for(int j = i+1; j < width; j++)
{
if(sudokuBoard[referenceRow][i] == sudokuBoard[referenceRow][j])
return false;
}
}
return true;
}