問題タブ [set-union]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
986 参照

algorithm - すべての交差集合の和集合

複数の属性を持つオブジェクトのリストが与えられた場合、交差するすべてのサブセットの結合によって作成されたセットのリストを見つける必要があります。

具体的には、これらは Person オブジェクトであり、それぞれに多くの属性があります。SSN、DLN などの一意の識別子に基づいて「マスター」セットのリストを作成する必要があります。

たとえば、人物 A と人物 B が同じ SSN を持っている場合、セット i を作成します。次に、人物 B と人物 C が同じ DLN を持っている場合、セットを作成します ii. 人物 D と E は同じ SSN を持っていますが、それ (および他のすべての識別子) は、人物 A、B、または C の識別子のいずれとも一致しません。すべての交差するサブセットをマージした後、人物 A、B、C の 1 つのセットになります。人物D、Eとの別のセット。

これが私のソリューションの疑似コードです。可能性のあるすべての交差セットをマージするより効率的な方法を誰かがすでに考え出していないかどうか、私は興味があります。セット間のリンクは X 人の長さになる可能性があることに注意してください (つまり、A は SSN で B に一致し、B は DLN で C に一致し、C は SSN で D に一致し、D は他の識別子で E に一致し、1 つのセットで人 AE になります)。また、これが実装される言語がセット操作をサポートしていると仮定します。

0 投票する
7 に答える
55426 参照

python - 複数のリストに含まれるすべての値の和集合を作成するPythonの方法

私はリストのリストを持っています:

このリストをフラットにして、すべての重複を削除したいと思います。または、言い換えると、集合和集合演算を適用します。

これを行う最も簡単な方法は何ですか?

0 投票する
1 に答える
802 参照

java - O(m+n) 回の大きな IntSet の結合、交差、差分

私の質問から

要素を昇順で重複要素なしでArrayListに挿入します

挿入方法を実行しました。

ここで、2 つの IntSet を操作するユニオン、インターセクション、および差分メソッドを作成する方法を見つけようとしています。

IntSet の要素数が多く、O(m+n)時間で実行する必要があることに注意してください。ここで、m と n は 2 つの IntSet の要素数です。

たとえば、IntSets

どうすればいいですか?

PSマージソートを使用できますか?

編集:

これが私のユニオンコードです

0 投票する
1 に答える
576 参照

c++ - 正しい std::set_union コードは何ですか?

このサイトset_unionは、次のコードと同等であると主張しています。

しかし、それは奇妙に思えます: 範囲の 1 つが空の場合、クラッシュ (または他の未定義の動作が発生) しませんか? 2 つのif句は、whileループの最後ではなく最初に置くべきではありませんか?

0 投票する
1 に答える
946 参照

c++ - set.union(C ++)に問題があります

2つのセットを(ベクトルで)結合しようとしています。

setAにはa、bが含まれます。setBにはa、cが含まれます。

結合後、結果にはa、b、cが含まれることになっています。ただし、プログラムは機能しておらず、何らかのデバッグエラーが発生しています。

誰かが問題が何であるか知っていますか?

0 投票する
1 に答える
701 参照

c++ - c++ set_union イテレータ

このコードに問題があり、コードをコンパイルしていますが、ベクターの内容をテストしようとすると、テストが失敗します。コードは次のとおりです。

そして、ここに私が実行しているテストがあります:

}

これらのテストを実行すると、最初のテストはパスしますが、2 番目のテストではベクトル内の数値 1 のインスタンスが 0 個返されます。答えは 1 インスタンスである必要があります。

0 投票する
3 に答える
1023 参照

prolog - Prolog-ユニオンは重複をチェックしないか、リストが正しいことをチェックしません

Prologでユニオン関数を書き込もうとしていますが、問題が発生しています。私は例を調べて、ユニオンの組み込みの例をリストしましたが、私は課題のために自分で書いています。リストの値が重複している場合や、リストの順序が昇順でない場合に、奇妙な結果が生じることに気づきました。組み込みのユニオンコードは次のとおりです。

ここでの擬似コードは、結果内でリスト1のすべてを検索し、それが使い果たされたら、リスト2とリスト3を比較することだと思います。これらは同じである必要があります。ただし、これは順序をチェックしません。

なぜこれは間違っているのですか?リスト1とリスト3は、順序は異なりますが同じセットです。

これら2つの違いは何ですか?それらは同じ結果をもたらすはずです。ただし、関数の記述方法により、最終的には、25行目で異なるリスト2とリスト3を比較するだけです。

私の質問はです。。。重複が適切に処理され、順序が重要にならないように、これらの関数を作成するためのより良い方法はありますか?組み込みのメソッドはトリックを実行しますが、サイコロは実行しないと想定されます。

0 投票する
1 に答える
3212 参照

c++ - OpenCVで輪郭を結合/結合する方法は?

「結合」などの操作は存在しますか/輪郭に対して合理的ですか? 輪郭は平面上の一部の領域を区切るため、複数の輪郭をセットとして結合できます。

そうじゃない?

はいの場合、輪郭を結合する方法は?

0 投票する
1 に答える
971 参照

c++ - セットユニオンが機能していません

'left' は、std::set の std::vector であり、左 (設定されている) の各要素に対して、'left' を反復処理することにより、別のセットにセット ユニオン操作を実行しようとしています。

次のコードが機能しないのはなぜですか。私は2つのセットのセットユニオンをやろうとしています。

エラー /usr/include/c++/4.3/bits/stl_algo.h:5078: エラー: 読み取り専用の場所 '__result.std::_Rb_tree_const_iterator<_Tp>::operator* with _Tp = int' の割り当て</p>

0 投票する
2 に答える
193 参照

c++ - コピー機能を使った印刷設定

私が抱えている問題は、コピー関数を使用して union_set 関数から結果のセットを出力する必要があることです。(したがって、出力を set_union 関数の最後の項として配置することは許可されていません)。lastAunionB ポインターに対してコピー機能を正しく機能させることができないようです (さらに数回行う必要があります)。私が現在持っているのは、答えを出すための最後の試みにすぎませんが、さらに多くのことを試しました. コピー機能で何が間違っていますか? これがコードです。

}