兩個集合求對稱差集

2022-03-07 14:13:49 字數 881 閱讀 2724

對稱差集,兩個集合的並集,減去交集。

比如,集合1,2,3和集合3,3,4,5的對稱差是集合1,2,4,5。

想到的解法,將兩個排序,兩個集合分別用兩個工作指標i,j。比較兩個指標指向的元素,相同就都後移,不相同,更小的指標後移。

以下**,給出了求對稱差集數量的**。

public

static

int distinctelementcount(int arr1, int

arr2)

if (arr2.length == 0)

int count = 0;

arrays.sort(arr1);

arrays.sort(arr2);

int i=0,j=0, same = -1;

while (i< arr1.length && jelse

if (arr1[i] ==same)

else

if (arr2[j] ==same)

else

if (arr1[i] else

}count += arr1.length + arr2.length - i -j;

return

count;

}@test

public

void

testdistinct() , new

int));

assert.assertequals(7, distinctelementcount(new

int, new

int));

assert.assertequals(12, distinctelementcount(new

int, new

int));

}

求兩個集合的差集

在c 語言的程式設計開發中,針對list集合的運算有時候需要計算兩個list集合的差集資料,集合的差集是取在該集合中而不在另一集合中的所有的項。a集合針對b集合的差集資料指的是所有在a集合但不在b集合的元素。在c 語言中可以使用except方法來計算兩個list集合的差集資料,簡單快捷只需要一條語句...

計算兩個集合的交集 並集 差集 對稱集

計算 兩個集合的交集 並集 差集 對稱集 import sys import time 重新整理緩衝區 def flush time.sleep 1 除去重複元素 def duplicate removal lt lt1 for i in lt if i not in lt1 return lt1 ...

No46 python求兩個集合的差集

比如 array diff 1 2,2 2,3 2 1,3 第乙個引數是列表a,第二個引數是列表b遍歷a中的元素,檢查它們是否出現在列表b中,若沒有出現在列表b中,則把這個元素新增到結果列表中。def array diff a,b if len a 0 orlen b 0 return a ret ...