lintcode:Valid Sudoku 判断数独是否合法
题目:
判断数独是否合法

class Solution {
/**
* @param board: the board
@return: wether the Sudoku is valid
*/
public boolean isValidSudoku(char[][] board) {
boolean[] visited = new boolean[9];
//row
for(int i=0;i<9;i++){
Arrays.fill(visited,false); //填充visited数组中的每个元素都是false
for(int j=0;j<9;j++){
if(!process(visited,board[i][j]))
return false;
}
}
//col
for(int i=0;i<9;i++){
Arrays.fill(visited,false);
for(int j=0;j<9;j++)
if(!process(visited,board[j][i]))
return false;
}
//sub matrix
for(int i=0;i<9;i+=3)
for(int j=0;j<9;j+=3){
Arrays.fill(visited,false);
for(int k = 0;k<9;k++)
if(!process(visited,board[i+ k/3][j + k%3]))
return false;
}
return true;
}
private boolean process(boolean[] visited,char dight){
if(dight=='.')
return true;
int num = dight - '0';
if(num<1 || num>9 || visited[num-1])
return false;
visited[num-1] = true;
return true;
}
};
总耗时: 822 ms
Python程序:
class Solution:
# @param board, a 9x9 2D array
# @return a boolean
def isValidSudoku(self, board): # sub matrix
for i in range(0,9,3):
for j in range(0,9,3):
visited = [False]*9
for k in range(3):
m = i + k
n = j + k
if(self.process(visited,board[m][n])==False):
return False # row
for i in range(9):
visited = [False]*9
for j in range(9):
if(self.process(visited,board[i][j])==False):
return False # col
for j in range(9):
visited = [False]*9
for i in range(9):
if(self.process(visited,board[i][j])==False):
return False return True def process(self,visited,digit):
if digit=='.':
return True
num = int(digit)
if(num<1 or num>9 or visited[num-1]==True):
return False
visited[num-1] = True
return True
总耗时: 148 ms
在判断3*3矩阵时候,根据我的这样方法很简单的哦
还有就是直判断行和列是否满足条件也能AC
所以我把判断小矩阵是否1-9组成放在了最上面
lintcode:Valid Sudoku 判断数独是否合法的更多相关文章
- 判断数独是否合法(LintCode)
判断数独是否合法 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用. 表示. 样例 下列就是一个合法数独的样例. 注意 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填 ...
- LintCode389.判断数独是否合法
LintCode简单题:判断数独是否合法 问题描述: 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项: 一个合法的数独(仅部分填充)并不一定是可解的.我们 ...
- LeetCode:36. Valid Sudoku,数独是否有效
LeetCode:36. Valid Sudoku,数独是否有效 : 题目: LeetCode:36. Valid Sudoku 描述: Determine if a Sudoku is valid, ...
- 36. Valid Sudoku 判断九九有效的数独
[抄题]: Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according ...
- [LeetCode] Valid Sudoku 验证数独
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...
- [LeetCode] 36. Valid Sudoku 验证数独
Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to th ...
- [Leetcode] valid sudoku 有效数独
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...
- LintCode_389 判断数独是否合法
题目 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填充的空格有效即可. 说明 什么是 数独? ...
- [leetcode]36. Valid Sudoku验证数独
Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to th ...
随机推荐
- mybatis的一对多映射
延续mybatis的一对一问题,如果一个用户有多个作品怎么办?这就涉及到了一对多的问题.同样的,mybatis一对多依然可以分为两种方式来解决. 一.使用内嵌的ResultMap实现一对多映射 1)实 ...
- Apache 2.4 多站点配置记录
基于域名的虚拟主机配置 <VirtualHost *:80> DocumentRoot /var/www/cms ServerName www.example.com RewriteEng ...
- SOAP Web 服务介绍
已经跨入 2015 年,当今最为常见的两种 Web 服务类型分别是: REST 和 SOAP .不过,从趋势来看,越来越多人已经开始使用 REST 风格的 Web 服务.而 SOAP 大多也开始或已经 ...
- SQLServer处理亿万级别的数据的优化措施
如何在SQLServer中处理亿万级别的数据(历史数据),可以按以下方面进行: 去掉表的所有索引 用SqlBulkCopy进行插入 分表或者分区,减少每个表的数据总量 在某个表完全写完之后再建立索引 ...
- mysql时间处理
两种方式,一个是在数据库查询的时候就截取,另一个就是在使用的时候截取. 1.数据库 select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test 2.ja ...
- ngnix 下配置多域名跳转 配置方法
自己申请了多个域名,统一使用 http://goipc.cn/ 格式访问网站 server_name goipc.cn ; server_name www.goipc.cn ; server_name ...
- ubuntu: 环境搭建
1.修改更新源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo gedit /etc/apt/sources.li ...
- C#中DataTable与实体集合通用转换(使用扩展方法)
本案例提供了:把DataRow转换为单个实体.dataTable转换为List泛型支持时间格式转换. 下文的方法都是扩展方法.扩展方法要求写在静态类中,方法也要静态. 它必须在一个非嵌套.非泛型的静态 ...
- Windows 7 下配置IIS,并且局域网内可访问
win7的iis很麻烦滴!我搭建过一次!不过有点问题!还是xp好! 一.进入Win7的 控制面板,选择左侧的 打开或关闭Windows功能 . 二.现在出现了安装Windows功能的选项菜单,注意选择 ...
- Careercup - Facebook面试题 - 5110993575215104
2014-04-30 16:12 题目链接 原题: The beauty of a number X is the number of 1s in the binary representation ...