0

ベクトル内の 3 つの要素の可能な一意の組み合わせをすべて取得する必要があります。 std::next_permutation動作しますが、多くの重複が発生します。

例えば

(1, 2, 3, 4, 5) および (1, 2, 3, 5, 4)

私が取った最初の3つの要素は等しいので、冗長な作業をしています. ユニークな組み合わせを反復する効率的な方法はありますか?

4

1 に答える 1

-1

まず、 b個のオブジェクトから選択できるk 個のオブジェクトの組み合わせの数Nを計算する必要があります。

N = b! /(b-k)!

次に、最初のリストを反復処理し、それらすべての組み合わせで合計 N 個のコンテナーを満たすことによって、すべての組み合わせを見つけます。

于 2013-03-02T00:12:32.823 に答える