首页 > 其他 > 详细

36. Valid Sudoku

时间:2016-05-04 10:36:02      阅读:171      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!