【发布时间】:2021-02-08 20:20:49
【问题描述】:
例如,假设我们有NextInOrder(10,(1,2,4,7)),然后将这两个作为函数的输入,我希望编写一个 python 函数,通过查找排列元素所在的字典顺序中的下一个排列来返回 (1,2,4,8)范围1-10
作为另一个例子,NextInOrder(10, (5,3,2,10)) 将返回 (5,3,4,1)
【问题讨论】:
-
也许en.wikipedia.org/wiki/Permutation 会提供答案(按字典顺序排列的下一个排列)。接近文章结尾。
-
@ChrisCharley 仅处理排列长度与元素范围相同的情况,例如(1, 3, 2, 4, 5) 不是我想要的 (1, 9, 4)
-
抱歉,我没有仔细阅读规格。
10P4用于从数字 1 到 10 的长度为 4 的排列。我不确定维基百科的文章是否显示了这一点。我会再读一遍,看看它是否显示了这种情况。
标签: python permutation lexicographic lexicographic-ordering