Leetcodes Solution 36 Valid Sudoku
匯總
雪之下雪乃:leetcode解題總匯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 .
.
Note:
A valid Sudoku board (partially filled) is not necessarily solvable. Only the filled cells need to be validated.
思路1
Three flags are used to check whether a number appear.
used1: check each row
used2: check each column
used3: check each sub-boxes
class Solution{public: bool isValidSudoku(vector<vector<char>>& board){ int used1[9][9] = {0}, used2[9][9] = {0}, used3[9][9] = {0}; for(int i = 0; i < board.size(); ++i) for(int j = 0; j < board[i].size(); ++j) if(board[i][j] != .){ int num = board[i][j] - 0 - 1, k = i / 3 * 3 + j / 3; if(used1[i][num] || used2[j][num] || used3[k][num]) return false; used1[i][num] = used2[j][num] = used3[k][num] = 1; } return true; }};
推薦閱讀:
※九章演算法 | Facebook 面試題 : 有手續費的買賣股票問題
※BAT面試流程及技巧詳解 強烈推薦!
※重建二叉樹
※機器學習:神經網路的模型構建
※RSA演算法詳解