Valid Sudoku

来源:互联网 发布:淘宝二楼千人千面 编辑:程序博客网 时间:2024/06/06 01:34

Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.

The Sudoku board could be partially filled, where empty cells are filled with the character '.'.


A partially filled sudoku which is valid.

Note:
A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.

class Solution {public:bool isValidSudoku(vector<vector<char> > &board) {int hor[9] = {0};int ver[9] = {0};int rec[9] = {0};for (int i = 0; i < 9; i++)for(int j = 0; j < 9; j++){if ('.' == board[i][j])continue;int val = 1 << (board[i][j] - '0');if (hor[i] & val || ver[j] & val || rec[(i/3)*3 + j/3] & val)return false;hor [i] |= val;ver [j] |= val;rec[(i/3)*3 + j/3] |= val;}return true;}};


0 0