码迷,mamicode.com
首页 > 其他好文 > 详细

36. Valid Sudoku

时间:2016-05-04 10:37:15      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

    /*
     * 36. Valid Sudoku
     * 12.10 by MIngyang
     * 这里有一个关于HashSet的方法,就是add,如果没有可以将之add进去,如果有的话会返回false
     */
        public boolean isValidSudoku(char[][] board) {
            // rule1, column
            for(int i=0; i<board[0].length; i++){
                HashSet<Character> test = new HashSet<Character>();
                for(int j=0; j<board.length; j++){
                    if(board[j][i]!=‘.‘ && !test.add(board[j][i])) return false;
                }
            }        
            // rule2, row
            for(int i=0; i<board.length; i++){
                HashSet<Character> test = new HashSet<Character>();
                for(int j=0; j<board[0].length; j++){
                    if(board[i][j]!=‘.‘ && !test.add(board[i][j])) return false;
                }
            }           
            // rule3, sub-box------------注意一下表格的block的index表示,不是所有的都要检查,只检查那么几个
            for(int i=0; i<3; i++){
                for(int j=0; j<3; j++){// for each sub-box
                    HashSet<Character> test = new HashSet<Character>();
                    for(int m=i*3; m<i*3+3; m++){//row
                        for(int n=j*3; n<j*3+3; n++){//column
                            if(board[m][n]!=‘.‘ && !test.add(board[m][n])) return false;
                        }
                    }
                }
            }            
            return true;
        }    

 

36. Valid Sudoku

标签:

原文地址:http://www.cnblogs.com/zmyvszk/p/5457358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!