Valid Sudoku

来源:互联网 发布:好学近乎知 水印 编辑:程序博客网 时间:2024/04/27 21:18
public class Solution {    public boolean isValidSudoku(char[][] board) {        // 9 * 9 board        // Row        for(int i = 0; i < 9; i++) {            boolean[] used = new boolean[9];            for(int j = 0; j < 9; j++) {                char c = board[i][j];                if(c != '.') {                    if(used[c - '1'] == true) {                        return false;                    }                    used[c - '1'] = true;                }            }        }        // Column        for(int i = 0; i < 9; i++) {            boolean[] used = new boolean[9];            for(int j = 0; j < 9; j++) {                char c = board[j][i];                if(c != '.') {                    if(used[c - '1'] == true) {                        return false;                    }                    used[c - '1'] = true;                }            }        }        // Cell        for(int i = 0; i < 9; i += 3) {            for(int j = 0; j < 9; j += 3) {                boolean[] used = new boolean[9];                for(int k = 0; k < 3; k++) {                    for(int l = 0; l < 3; l++) {                        char c = board[i + k][j + l];                        if(c != '.') {                            if(used[c - '1'] == true) {                                return false;                            }                            used[c - '1'] = true;                        }                    }                }            }        }        return true;    }}


Time: O(n^2)

Space: O(n)

0 0