Menu
CoddyTech

Valid Sudoku

中等哈希python iconjava iconcpp iconc iconjs icon+10

你会得到一个 9 × 9 的数独棋盘 board,它是一个列表,包含 9 个字符串,每个字符串有 9 个字符,每行对应一个字符串。每个字符都是 1 到 9 的数字,或表示空单元格的 .。如果每一行、每一列或每个 3 × 3 方格中都没有重复的数字,则返回 true,否则返回 false。只检查已填入的单元格:棋盘不一定有解。

函数

isValidSudoku(board: string-array) → boolean
boardstring-array
9 个由 9 个字符组成的字符串,每行一个,使用数字 1 到 9,空单元格用 . 表示
返回值boolean
如果没有任何行、列或 3 × 3 宫格重复出现数字,则为真;否则为假

约束条件

  • board.length == 9 并且 board[i].length == 9
  • board[i][j] 是一个从 1 到 9 的数字,或 .
  • 棋盘可能无法完成;只需关注已填单元格中的重复项。

示例

输入
board = [".19......", "..89...3.", ".3.8.....", ".5..6....", ".74..89.3", "....7....", ".2.5..19.", "1....3...", ".8......7"]
输出
true
解释
从 0 开始计数的第 4 行,.74..89.3 中的 7、4、8、9 和 3 各出现一次,其他 26 组也都没有重复数字。
challenge icon

进阶

对于一个 16 × 16 的棋盘,其中有 4 × 4 的宫格,符号为 1 到 9 和 A 到 G,你会如何检查?宫格公式会变成什么?

重置代码
def isValidSudoku(board):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

board = [".19......", "..89...3.", ".3.8.....", ".5..6....", ".74..89.3", "....7....", ".2.5..19.", "1....3...", ".8......7"]

预期输出

true