首页 > 解决方案 > 验证数独扇区中的数字

问题描述

我正在尝试验证数独游戏的一个扇区中是否有两个或多个相同的数字。有谁能够帮我?这是我到目前为止所拥有的。我的代码在java中。

public static boolean isInSector(int[][] grid, int line, int column, int value) {
        boolean find = false;
        int size = 0;
        for (int i = 0; i < grid.length / size && !find; i++) {
            for (int j = 0; j < grid[0].length / size && !find; j++) {
                if (grille[(line / size) + i][(column / size) + j] == value) {
                    trouve = true;
                }
            }
        }
        return find;
    }

谢谢

标签: javageneratorsudokuverify

解决方案


似乎您需要验证应该放入单元格value的范围内是否既不在. 也不在. 此外,通常数独字段是方形的,因此无需使用嵌套循环,可能的解决方案很简单:[1..9][line, column]linecolumn

public static boolean isInSector(int[][] grid, int line, int column, int value) {
    for (int i = 0, n = grid.length; i < n; i++) {
        if (grid[line][i] == value || grid[i][column] == value) {
            return true;  // a value already exists in the field
        }
    }
    // the value is not found in the given line and column
    return false;
}

推荐阅读