我有一本字典,例如:{1:3, 2:2, 3:,1}
。我需要得到这个排列的不相交周期列表:[[1,3], [2]]
。
我知道如何获得所有排列,但我不知道如何删除已有的排列。
我的例子是[[1,3], [2], [3,1]]
。
答案 0 :(得分:0)
显而易见的解决方案是从循环的最小元素开始规范化循环表示:
min_index = cycle.index(min(cycle))
canonical = cycle[min_index:] + cycle[:min_index]
根据您检索周期的方式,仅生成规范表示可能更有效。