array.SymDifference

現在の配列と指定された配列の対称差集合を取得します


taiseiue | 2024-11-21

定義

名前空間: Alice
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Core.Array.cs

SymDifference(array)

プレビュー

この記事では、現在開発中のAlice vNEXTに実装される予定のAPIについて説明しています。 このAPIは予告なく削除および変更される可能性があります。

現在の配列と指定された配列の対称差集合を取得します

AliceScript
class Alice.Array;
public array SymDifference(array other);
引数
other 対称差集合を求めるもう一方の配列
戻り値
array 現在の配列とotherの対称差集合

対応
AliceScript
AliceSister
Losetta

説明

このメソッドは、現在の配列とotherの対称差集合を取得します。 対称差集合とは、ふたつの集合の合計のうち、どちらか片方にのみ存在する要素を全て集めた集合のことです。これは、差集合とは異なり、現在の配列には含まれていないが、比較先の配列には含まれている要素を含みます。

このメソッドの戻り値は、元の配列の並び順を保つとは限りません。 このメソッドの計算量は、\(O(nm)\)です。この時、\(n\)\(m\)はそれぞれ、現在の配列とotherの要素数です。

以下は、123の含まれる配列と234の含まれる配列の対称差集合を求めます。

AliceScript
var a = [1, 2, 3];
var b = [2, 3, 4];
print(a.SymDifference(b)); // 出力例 : [1, 4]