博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Valid Sudoku
阅读量:5334 次
发布时间:2019-06-15

本文共 1845 字,大约阅读时间需要 6 分钟。

题目描述:()

Determine if a Sudoku is valid, according to: .

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
>& 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 };

 

转载于:https://www.cnblogs.com/skycore/p/4862567.html

你可能感兴趣的文章
迷宫问题
查看>>
【FZSZ2017暑假提高组Day9】猜数游戏(number)
查看>>
泛型子类_属性类型_重写方法类型
查看>>
eclipse-将同一个文件分屏显示
查看>>
对闭包的理解
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
windows编程ASCII问题
查看>>
.net webService代理类
查看>>
Code Snippet
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>