問題タブ [set-difference]

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 投票する
3 に答える
1372 参照

sql - SQL-違いを設定し、違いの一部ではないフィールドを取得する

基本的に次のようなクエリを実行します。

この例でaは、、、bおよびcがこのテーブルのキーフィールドです。stateもキーの一部であり、状態Bではなく状態Aにレコードがある状況を見つけようとしています。レポートしたい別のフィールド(キーにはない)がありますvalue、、これは、異なる州の同じレコードでは異なる場合があります。例:

この場合、1,3,9状態がAであるキーを持つ行に関心があります。列の値も取得したいのですが、value試してみると次のようになります。

返されるのは2行です。

value基本的に、結果セットに入れたいのですが、には参加しませんminus。ここで明らかな何かが欠けているような気がしますが、たぶん私は疲れすぎてそれを手に入れることができません...;)

0 投票する
4 に答える
3046 参照

list - 'リストの違い'(\\)演算子に頭を悩ませているようには見えません

Haskellで「リスト差分」演算子という用語を聞いたことがあります(\\)が、それでも頭を動かす方法がよくわかりません。例やアイデアはありますか?

0 投票する
6 に答える
251 参照

c# - コレクション変更例外に遭遇せずにリストからアイテムを削除する最も効率的な方法は?

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

その場合ListA.Except(ListB)、ExceptIterator が返され、ListB にない項目について ListA を反復処理できます。問題は、その実装が単純に ListA も使用することであるということです (何らかの理由で、違いであるアイテムの新しいコレクションが作成されると思いました)。よく考えてみると、まだ ListA をソースとして使用していることがわかりましたが、単に特殊なタイプのイテレーターを使用しているだけです。もちろん、ListA から項目を削除すると、コレクションが変更されたと不平を言います。

やりたいことを行うにはいくつかの方法が考えられます。まず、ListA をコピーして、そのコピーに対して例外を実行します。2 つ目は、while ループを実行することです。この問題に対する最善の解決策は何か、標準的なガイドラインに従うのは何か、ということだけを考えています。

もし私がこれについて間違ったやり方をしているなら、私はそれを知りたいです. 私の主な目標は、キーを比較として使用して、DictB にない DictA からすべてを削除することです。

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

c++ - set_difference 実行中のエラー: 変数の結果は構造体ではありません

関数の外でグローバルにセット変数を宣言しました。

今、私はその構造を関数内に取り込もうとしています。

次のコンパイル エラーが発生します。

編集:

アンダースコアの削除は機能しませんでした。私は今試してみました:

これにより、別のコンパイル エラーが発生します。

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

c++ - C ++でset_differenceに代わるものは何ですか?

私は2つsets持っています。それらにはいくつかの共通要素があります(セットには要素として文字列があります)

like : set1要素あり

set2要素があります

値「1-1」を1つのセットに、値「1-3」を別のセットに取り出したい。私は私set_differenceのために仕事をすることを知っています.しかし、私はいくつかの問題に直面しています.こちらset_ifferenceを確認してください

set_difference同じ結果を達成するために使用する代替手段はありますか?

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

c++ - エラー: 挿入子は std のメンバーではありません

私は以下のようなコードを持っています:

エラーが表示されます:

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

c++ - c++ のバグ?-c++ の set_difference が std::copy を返さない

私は以下のようなコードを持っています:

私が得るコンパイルエラーはoverloading ambiguity std::copy(.... 、問題は次のset_differenceように返される ことですreturn copy(first1,last1,result);

set_differenceのアルゴリズムはこちらをご確認ください。

set_difference は次のように返します。

であればstd::copy何の問題もありません。

以下のようにブロック内にステートメントを入れてみました:

しかし、これは機能しません。問題は、私たちが独自の目的のために作成したコピー機能にあり、多くの場所で使用されていることを知っています.ここで私は使用したいstd::copy. 誰でも助けてくれませんか。

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

sql - Firebirdデータベースに設定されたマイナス代数演算子

同じテーブルに異なるフィルターを適用した2つの等しいクエリがあります。

最初のクエリはを返し(1,2,3,4,5)、2番目のクエリはを返します(3,4,5)

MINUS /EXCEPT演算子を適用したい:

Firebird SQLダイアレクトを使用してこのロジックを実装するにはどうすればよいですか?(私はスーパーサーバーv2.1を使用しています)

逆の結果が得られています

ありがとう

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

list - 繰り返し要素を排除せずに、セットの違いを行う方法

私はMatlabで次のことをやろうとしています。繰り返し要素を含む可能性のある 2 つの数値リストを取得し、一方のセットを他方のセットから減算します。

例: A=[1 1 2 4]; B=[1 2 4];

望ましい結果は AB=C=[1] です

または、別の例として、E=[3 3 5 5]; F=[3 3 5];

望ましい結果は EF=G=[5] です

Matlab の集合操作を使用してこれを行うことができればよいのですが、それらの関数 setdiff は行列内の繰り返される要素を尊重しません。これは厳密な集合論の観点からは正しいと思いますが、「私は 3 つのリンゴと 4 つのオレンジを持っています。あなたは 2 つのリンゴと 1 つのオレンジを持っています。それぞれ何個残っていますか?」というような問題に取り組みたいと思います。これらのセットで可能な値の範囲は数千に及ぶため、要素を集計してから行列を減算するために大きな行列を構築することは、速度の理由から実行可能ではないようです。GUI メニュー操作中に、何千ものセット要素を使用してこれらの計算を何千回も行う必要があります。

上記の 2 番目の例に取り組むために避けたいことの例: E=[0 0 2 0 2]; F=[0 0 2 0 1];

G=EF=[0 0 0 0 1];

ご協力いただきありがとうございます!