Leetcode -- Valid Sudoku

来源:互联网 发布:apache和tomcat的区别 编辑:程序博客网 时间:2024/06/14 23:51

问题连接:https://oj.leetcode.com/problems/valid-sudoku/

问题描述:进链接看吧,我不贴图了。。。。

问题API:public boolean isValidSudoku(char[][] board)


问题分析:这题其实就很简单,做好每一行每一列每一个3*3的格子的检测就可以了。。直接给代码了:

    public boolean rowCheck(char[][] board){        for(int i = 0; i < board.length; i++){            boolean[] appeared = new boolean[10];            for(int j = 0; j < board[0].length; j++){                if(board[i][j] == '.')                    continue;                if(appeared[board[i][j] - '0'])                    return false;                appeared[board[i][j] - '0'] = true;            }        }        return true;    }        public boolean columnCheck(char[][] board){        for(int i = 0; i < board.length; i++){            boolean[] appeared = new boolean[10];            for(int j = 0; j < board[0].length; j++){                if(board[j][i] == '.')                    continue;                if(appeared[board[j][i] - '0'])                    return false;                appeared[board[j][i] - '0'] = true;            }        }        return true;    }        public boolean blockCheck(char[][] board){        for(int i = 0; i < 3; i++){            for(int j = 0; j < 3; j++){                boolean[] appeared = new boolean[10];                for(int k = 0; k < 3; k++){                    for(int l = 0; l < 3; l++){                        char cur = board[k + i * 3][l + j * 3];                        if(cur == '.')                            continue;                        if(appeared[cur - '0'])                            return false;                        appeared[cur - '0'] = true;                    }                }            }        }        return true;    }    public boolean isValidSudoku(char[][] board) {        return rowCheck(board) && columnCheck(board) && blockCheck(board);    }


0 0
原创粉丝点击