我正在制作数独求解器(没有算法的演练/作弊)。基本上,我的假设功能如下:
n
(通常为2)的最小可能性的单元格,克隆网格n
次并将可能性替换为单元格,然后再为每个新网格调用该函数。solvedGrid[][]
设置为等于已解算的网格。在此设置中,我将创建类,调用该函数,然后从solvedGrid[][]
字段中检索答案。我的递归函数本身有一个void
返回,或者我可以使它boolean
以确定找到解决方案。无论哪种方式,我都想不出返回byte[][]
的方法,因为我将从1个函数实例多次调用该函数。提前谢谢。
(另外,对于那些创建了这样一个程序的人来说 - 我提出的算法实际上会起作用吗?)
答案 0 :(得分:1)
返回solveGrid,如果发现矛盾,则返回null。不需要将返回值作为类成员,我甚至会说糟糕的设计。 是的,你的算法听起来不错。在数独网格空间中进行深度优先搜索。