[LintCode 389] 判断数独是否合法(Python)
来源:互联网 发布:手机摄像头透视软件 编辑:程序博客网 时间:2024/05/16 19:26
题目描述
请判定一个数独是否有效。
该数独可能只填充了部分数字,其中缺少的数字用 . 表示。样例
输入
每行一个参数:
[“.87654321”,”2……..”,”3……..”,”4……..”,”5……..”,”6……..”,”7……..”,”8……..”,”9……..”]
思路
按每行,每列,每块判断。没有过多的技巧,逻辑题。可以借助set结构判断是否有重复元素。
代码
class Solution: """ @param: board: the board @return: whether the Sudoku is valid """ def isValidSudoku(self, board): # write your code here if board is None or len(board) != 9 or len(board[0]) != 9: return None s = set() # 判断行和列 for i in range(9): # 判断每行 for j in range(9): if board[i][j] != '.' and board[i][j] in s: return False else: s.add(board[i][j]) s.clear() # 判断每列 for k in range(9): if board[k][i] != '.' and board[k][i] in s: return False else: s.add(board[k][i]) s.clear() # 判断每块 for i in range(0, 9, 3): for j in range(0, 9, 3): for k in range(i, i + 3): for p in range(j, j + 3): if board[k][p] != '.' and board[k][p] in s: return False else: s.add(board[k][p]) s.clear() return True
时间复杂度
时间复杂度
阅读全文
0 0
- [LintCode 389] 判断数独是否合法(Python)
- LintCode-判断数独是否合法
- LintCode:判断数独是否合法
- 判断数独是否合法-LintCode
- LintCode Valid Sudoku 判断数独是否合法
- 判断数独是否合法
- 题目:判断数独是否合法
- 容易 判断数独是否合法
- LintCode398:判断数独是否合法
- leetcode 判断数独是否合法
- 36.判断数独是否合法
- LintCode算法题解——判断数独是否合法、平面列表、克隆二叉树、序列排号
- 【LintCode】判断数独合法
- ACdream 1195 判断数独棋盘是否合法
- 389.Valid Sudoku-判断数独是否合法(容易题)
- Leetcode:36.Valid Sudoku 初始化数独数组是否合法判断
- poj 3435 检测数独状态是否合法
- 6.15判断数独
- [新特性]PeopleTools8.54+-PeopleSoft Application Engine新特性
- Nginx的一些基本功能
- map端join算法实现
- xml简单介绍及libmxml编程
- Redis 安装启动和密码修改
- [LintCode 389] 判断数独是否合法(Python)
- MySql insert:当通过条件查询结果存在该条数据则不插入,否则执行insert
- 51nod 1672-区间交(线段树)
- Java--类加载器
- HDU 1711 Number Sequence 【KMP】
- android 异步 post请求 与 同步post请求
- 技术与技术人员的价值
- 关于路径
- 找球号(一)