首页 > 其他 > 详细

[LeetCode] 36. Valid Sudoku

时间:2017-04-14 11:42:09      阅读:193      评论:0      收藏:0      [点我收藏+]

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.

 1 // From Discuss
 2 class Solution {
 3 public:
 4     bool isValidSudoku(vector<vector<char>>& board) {
 5         //used1: check each row
 6         //used2: check each column
 7         //used3: check each sub-boxes
 8         bool used1[9][9]={false}, used2[9][9]={false}, used3[9][9]={false};
 9         
10         for (int i = 0; i < board.size(); ++i){
11             for (int j = 0; j < board[i].size(); ++j){
12                 if (board[i][j] != .){
13                     int num = board[i][j] - 0 - 1;
14                     int k = i / 3 * 3 + j / 3;
15                     if (used1[i][num] || used2[j][num] || used3[k][num]){
16                         return false;
17                     }else{
18                         used1[i][num] = used2[j][num] = used3[k][num] = true;
19                     }
20                 }
21             }
22         }
23         
24         return true;
25     }
26 };

 

 

 

 

 
 

[LeetCode] 36. Valid Sudoku

原文:http://www.cnblogs.com/amadis/p/6708019.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!