首页 > 其他 > 详细

[LeetCode]Valid Sudoku

时间:2015-10-08 22:52:10      阅读:235      评论: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 class Solution {
 2 public:
 3     bool isValidSudoku(vector<vector<char>>& board) {
 4         bool used[9];
 5         
 6         for (int i = 0; i < 9; ++i) {
 7             memset(used, false, sizeof(used));
 8             for (int j = 0; j < 9; ++j) {
 9                 if (!isVaild(board[i][j], used)) {
10                     return false;
11                 }
12             }
13             
14             memset(used, false, sizeof(used));
15             for (int j = 0; j < 9; ++j) {
16                 if (!isVaild(board[j][i], used)) {
17                     return false;
18                 }
19             }
20         }
21         
22         for (int r = 0; r < 3; ++r) {
23             for (int c = 0; c < 3; ++c) {
24                 memset(used, false, sizeof(used));
25                 
26                 for (int i = r * 3; i < 3 * r + 3; ++i) {
27                     for (int j = c * 3; j < 3 * c + 3; ++j) {
28                         if (!isVaild(board[i][j], used)) {
29                             return false;
30                         }
31                     }
32                 }
33             }
34         }
35         
36         return true;
37     }
38 private:
39     bool isVaild(char c, bool *used) {
40         if (c == .) {
41             return true;
42         }
43         
44         if (used[c - 1]) {
45             return false;
46         }
47         
48         used[c - 1] = true;
49         return true;
50     }
51 };

 

[LeetCode]Valid Sudoku

原文:http://www.cnblogs.com/skycore/p/4862567.html

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