【发布时间】:2013-02-16 14:41:21
【问题描述】:
我需要在一个向量中获取 3 个元素的所有可能的唯一组合。 std::next_permutation 有效,但它给了我很多重复。
例如
(1, 2, 3, 4, 5) 和 (1, 2, 3, 5, 4)
我取的前 3 个元素是相等的,所以我在做多余的工作。是否有任何有效的方法来迭代独特的组合?
【问题讨论】:
-
这两个不是“重复”。一个排列包括根据定义的所有元素。如果你想要一些不是真正排列的东西,你必须寻找你想要的正确名称,或者更清楚地描述它:)
-
我认为他想要N over K combinations 的所有排列。
-
@ipc 嗯,好地方,但我想他可能只想要组合,而不是组合的排列。让我们等他告诉我们他真正想要什么。
-
@ipc:是的。这是正确的。感谢您提及正确的名称 :) 这非常有帮助。
-
这里是伙计们。 stackoverflow.com/questions/12991758/… 非常感谢。
标签: c++ algorithm stl permutation