比如:
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=
flag=
0for i in a:
for j in b:
if i==j:
flag=
1break
if flag==0:
else
: flag=
0return ret
思路和方法1一樣
def
array_diff
(a, b)
: set_b =
set(b)
return
[i for i in a if i not
in set_b]
def
array_diff
(a, b)
:return
filter
(lambda i: i not
in b, a)
filter()函式用於過濾序列,它的第乙個引數是函式名或者像lambda表示式這種,它的第二個引數是列表,列表的每個元素作為引數傳遞給函式進行判斷(這個函式返回 true 或 false),最後將返回 true 的元素放到新列表中。 兩個有序集合求交集
方案一 暴力法,for for,時間複雜度o n n 當資料量很大時,不可取 方案二 拉鍊法 有序集合1 有序集合2 兩個指標指向首元素,比較元素的大小 1 如果相同,放入結果集,隨意移動乙個指標 2 否則,移動值較小的乙個指標,直到隊尾 這種方法的好處是 1 集合中的元素最多被比較一次,時間複雜度...
求兩個集合的差集
在c 語言的程式設計開發中,針對list集合的運算有時候需要計算兩個list集合的差集資料,集合的差集是取在該集合中而不在另一集合中的所有的項。a集合針對b集合的差集資料指的是所有在a集合但不在b集合的元素。在c 語言中可以使用except方法來計算兩個list集合的差集資料,簡單快捷只需要一條語句...
兩個集合求對稱差集
對稱差集,兩個集合的並集,減去交集。比如,集合1,2,3和集合3,3,4,5的對稱差是集合1,2,4,5。想到的解法,將兩個排序,兩個集合分別用兩個工作指標i,j。比較兩個指標指向的元素,相同就都後移,不相同,更小的指標後移。以下 給出了求對稱差集數量的 public static int dist...