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

本文共 1806 字,大约阅读时间需要 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.

思路:

思路很简单,只要检查每行、每列、每个子区域中没有重复的数字即可。

代码:

1     bool isValidSudoku(vector
> &board) { 2 // Note: The Solution object is instantiated only once and is reused by each test case. 3 map
table; 4 for(int i = 0; i < 9; i++){ 5 table.clear(); 6 for(int j = 0; j < 9; j++){ 7 if(board[i][j] != '.'){ 8 if(table.find(board[i][j]) != table.end()) 9 return false;10 else11 table[board[i][j]] = 1;12 }13 }14 }15 for(int i = 0; i < 9; i++){16 table.clear();17 for(int j = 0; j < 9; j++){18 if(board[j][i] != '.'){19 if(table.find(board[j][i]) != table.end())20 return false;21 else22 table[board[j][i]] = 1;23 }24 }25 }26 for(int i = 0; i < 9; i++){27 table.clear();28 for(int j = 0; j < 3; j++){29 for(int k = 0; k < 3; k++){30 if(board[3*(i/3)+j][3*(i%3)+k] != '.'){31 if(table.find(board[3*(i/3)+j][3*(i%3)+k]) != table.end())32 return false;33 else34 table[board[3*(i/3)+j][3*(i%3)+k]] = 1;35 }36 }37 }38 }39 return true;40 }

 

转载于:https://www.cnblogs.com/waruzhi/p/3415534.html

你可能感兴趣的文章
java学习面试精华
查看>>
leap motion
查看>>
[Docker]docker搭建私有仓库(ssl、身份认证)
查看>>
【Android 开发】mac 版 Android Studio 连接夜神模拟器的方法
查看>>
Spring Boot中使用WebSocket总结(三):使用消息队列实现分布式WebSocket
查看>>
使用javamail发送邮件
查看>>
5.1中容器(Container)和门面(Facade)的实现
查看>>
二、let变量声明方式介绍
查看>>
前端性能优化三部曲(加载篇)
查看>>
从闭包函数的变量自增的角度 - 解析js垃圾回收机制
查看>>
第十一周周记
查看>>
ansible常用模块整理
查看>>
ICA(独立成分分析)笔记
查看>>
Python File(文件)方法
查看>>
[Hihocoder 1289] 403 Forbidden (微软2016校园招聘4月在线笔试)
查看>>
慕课爬虫
查看>>
python 使用不同的版本之间的切换
查看>>
论文查重注意事项,勿踩雷区
查看>>
simplest_dll 最简dll的创建与隐式调用(显式调用太麻烦,个人不建议使用)
查看>>
一个在线工具箱:栅栏密码加密解密工具
查看>>