程式語言 - LeetCode - C - 36. Valid Sudoku



題目:


解答:

bool isValidSudoku(char** board, int boardSize, int* boardColSize)
{
    int i = 0;
    int j = 0;
    int row[9][9] = { 0 };
    int col[9][9] = { 0 };
    int box[9][9] = { 0 };

    for (i = 0; i < 9; i++) {
        for (j = 0; j < 9; j++) {
            int n = board[i][j] - '1';
            int b = ((i / 3) * 3) + (j / 3);

            if (board[i][j] == '.') {
                continue;
            }

            if (row[i][n] || col[j][n] || box[b][n]) {
                return false;
            }

            row[i][n] = 1;
            col[j][n] = 1;
            box[b][n] = 1;
        }
    }

    return true;
}