【发布时间】:2019-04-03 23:06:27
【问题描述】:
我有一个这样的列表:
from itertools import permutations
l = [1,1,1,1,1,1,1,2]
原始列表中重复的“1”条目意味着不同的排列仅取决于“2”在输出中出现的位置;所以只有 8 个不同的排列。但是 permutations() 函数将生成所有 factorial(8)=40320 排列。我知道我可以在事后使用 set() 函数删除重复的输出,但算法仍然是 O(N!),我想要更高效的东西。
【问题讨论】:
-
什么是“当场 2”?重新构建你的问题。无法理解您的意思。
标签: python permutation