所以我的目标是编写解决数独难题的方法,我们得到了方法存根“public int[][] solve(int[][] board)”。我们应该使用弧一致性和域分割来找到解决方案。
- 我开始这样做的方式是在板上(键)及其当前域(初始化为 1..9,除非给定)上制作点的 hashMap ->HashMap<Point, ArrayList<Integer>> curDomains = new HashMap<Point, ArrayList<Integer>>();
虽然我不确定这是否是最好的数据结构利用。
-我的问题是如何表示弧和约束?我有算法的伪代码,但我不知道如何在 java 中表示约束/弧。表示C 的最佳方法是什么:要满足的一组约束(它们是数独板上的有效位置)以及我的弧 A < X, c> 其中 X 是一个点,c 是约束。
我提前感谢您的有益评论。