LeetCode-Valid Sudoku

来源:互联网 发布:压缩感知 知乎 编辑:程序博客网 时间:2024/06/05 19:20

直接暴力的给每个需要检查的行 列 subbox建立一个hashset 检查是否有重复 记得要先判断一下这个位置是不是 '.'

public class Solution {    public boolean isValidSudoku(char[][] board) {        for ( int i = 0; i < 9; i ++){ //            HashSet<Character> set = new HashSet<Character> ();            for ( int j = 0; j < 9; j ++) {                if ( board[i][j] != '.'){                    if ( set.contains(board[i][j]) ){                        return false;                    }                    set.add(board[i][j]);                }            }        }        for ( int i = 0; i < 9; i ++){ //            HashSet<Character> set = new HashSet<Character> ();            for ( int j = 0; j < 9; j ++) {                if ( board[j][i] != '.'){                    if ( set.contains(board[j][i])){                        return false;                    }                    set.add(board[j][i]);                }            }        }        for ( int box = 0; box < 9; box ++){             HashSet<Character> set = new HashSet<Character> ();            for ( int i = 0; i < 3; i ++ ){                for ( int j = 0; j < 3; j ++ ){                    int row = box / 3 * 3 + i;                    int col = box % 3 * 3 + j;                    if(  board[row][col] != '.'){                        if ( set.contains( board[row][col]))                            return false;                        set.add( board[row][col]);                    }                }            }        }        return true;    }}


0 0
原创粉丝点击