[36] 有效的数独

/**
 * @param {character[][]} board
 * @return {boolean}
 */
var isValidSudoku = function (board) {
  for (let i = 0; i < 9; i++) {
    for (let j = 0; j < 9; j++) {
      const p = board[i][j]
      if (p === '.') {
        continue
      } else {
        for (let e1 = 8; e1 > j; e1--) {
          if (board[i][e1] === p) {
            return false
          }
        }
        for (let e2 = 8; e2 > i; e2--) {
          if (board[e2][j] === p) {
            return false
          }
        }
        const t1 = i + 3 - i % 3
        const t2 = j + 3 - j % 3
        for (let p2 = j + 1; p2 < t2; p2++) {
          if (board[i][p2] === p) {
            return false
          }
        }
        for (let p1 = i + 1; p1 < t1; p1++) {
          for (let p2 = t2 - 3; p2 < t2; p2++) {
            if (board[p1][p2] === p) {
              return false
            }
          }
        }
      }
    }
  }
  return true
};

 

posted @ 2023-11-30 13:45  人恒过  阅读(17)  评论(0)    收藏  举报