看到数独就忍不住拿笔算出来了…………不过仍然没有算法思路啊,能模拟人脑的计算过程吗?
如果按照我的思路的话,可以首先定义三个纪录数组,分别表示九行九列以及九个九宫格中每个已填的数字个数。然后先来个循环,从1到9查看横三行竖三行是否有可以填的数字(话说这方法可以分装成函数调用哈),把能填上的都先填上,然后分别按照三个纪录数组的纪录个数从多到少的做判断把能填的都填上,最后把以上四个循环全部打入一个while循环体中,应该是可以算出来的……但是效率可能很惨烈……
话说这样算似乎只能用于简单数组,那种需要在一个格子里填多个猜测数的数独就不管用了哈。那种数独需要用递归来算,稍微想了一下就发现一脑子浆糊……
再话说,似乎算数独的最好语言并不是java,面向过程的语言并不合适。 |