本文主要是介绍leetcode 36,37,验证数独,解数独,回溯法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关键词:回溯法
个人理解:对某个问题加上限值条件,如果在进行到某步发现无法在有限制条件下做出,则重新回到某一步重新开始测试其它方案(数值)。
1.验证数独
数独:行无重复,列无重复,三成三box无重复1-9数值。
判断一个数字能在这个位置的核心就是列无重复,行无重复,box无重复,
可以用哈希映射来判断某个值的出现次数,出现重复则返回false
class Solution:def isValidSudoku(self, board):""":type board: List[List[str]]:rtype: bool"""rows = [{} for i in range(9)] #每个{}代表一行,其中存储1-9出现的次数columns = [{} for i in range(9)]box = [{} for i in range(9)]#从board左上角开始查找:for i in range(9):for j in range(9):num = board[i][</
这篇关于leetcode 36,37,验证数独,解数独,回溯法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!