所以我理解了回溯的概念,并查看了代码here来实现简单的字符串置换算法。
我的问题如下:
我有一份表格的n个列表:
l = [[1,2,3],[4,3,2],[7,6,5],[1,2,9],[6,8]]
假设我按照元素出现次数最少的方式对这些列表进行排序,并将其放在字典中,其中键表示元素的出现次数,如下所示:
d = {1:[[7,6,5],[6,8],[4,3,2],[1,2,9]], 2:[[1,2,3],[1,2,9],[4,3,2],[7,6,5],[6,8]], 3:[[1,2,3],[4,3,2],[1,29]]}
那么字典代表的是:
现在,为了找到 1到9 这些数字的集合,我知道我需要使用所有列表 1 < / strong>即可。如果这满足整个范围从1到9(在这种情况下确实如此),我的工作就完成了。否则,我需要在与 2 对应的列表列表中回溯EACH列表,如果我找到满足的组合,我就停止。如果它们都不满足,我会移动到与 3 键相对应的列表。
如何在python中实现这一点,这是实现它的好方法吗?
我意识到这个问题很难用简单的英语解释,所以如果不清楚,请告诉我。