首页 > 编程语言 > 详细

leetcode Sudoku Solver python

时间:2015-12-20 00:37:07      阅读:210      评论:0      收藏:0      [点我收藏+]
#

Write a program to solve a Sudoku puzzle by filling the empty cells.


Empty cells are indicated by the character ‘.‘.


You may assume that there will be only one unique solution.


技术分享


A sudoku puzzle...


 


技术分享


...and its solution numbers marked in red.



class
Solution(object): def solveSudoku(self, board): """ :type board: List[List[str]] :rtype: void Do not return anything, modify board in-place instead. """ def isValid(x,y): tmp=board[x][y] board[x][y]=D for i in range(9): if board[i][y] == tmp: return False for i in range(9): if board[x][i] == tmp: return False for i in range(3): for j in range(3): if board[(x/3)*3+i][(y/3)*3+j] == tmp: return False board[x][y]=tmp return True def dfs(board): for i in range(9): for j in range(9): if board[i][j] == .: for k in 123456789: board[i][j] = k if isValid(i,j) and dfs(board): return True board[i][j] = . return False return True dfs(board)

 

leetcode Sudoku Solver python

原文:http://www.cnblogs.com/allenhaozi/p/5060066.html

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