java刷题--36有效的数独
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--36有效的数独相关的知识,希望对你有一定的参考价值。
题目
代码
class Solution {
public boolean isValidSudoku(char[][] board) {
Set<Character> rowSet = new HashSet<>();
Set<Character> colSet = new HashSet<>();
Set<Character> gridSet = new HashSet<>();
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
// 行校验
if (board[j][i] != '.' && !rowSet.add(board[j][i]))
return false;
// 列校验
if (board[i][j] != '.' && !colSet.add(board[i][j]))
return false;
// 九宫格校验
if (board[i % 3 * 3 + j / 3][i / 3 * 3 + j % 3] != '.' &&
!gridSet.add(board[i % 3 * 3 + j / 3][i / 3 * 3 + j % 3]) )
return false;
}
rowSet.clear();
colSet.clear();
gridSet.clear();
}
return true;
}
}
结果
以上是关于java刷题--36有效的数独的主要内容,如果未能解决你的问题,请参考以下文章
[JavaScript 刷题] 矩阵 - 有效的数独, leetcode 36
Leetcode刷题100天—36. 有效的数独(数组+哈希)—day26