我有兩個對象列表,我想從其他列表中的一個列表中刪除實例。通過與另一個列表比較從一個列表中刪除重複項
例如我有以下兩個列表,並假設每個字母代表對象。
列表listA的= {A,B,C,d,E,F,G,H,I,J}
列表數組listB = {d,G,K,P,Z}
現在,顯然數組listB有d和G是有關於listA的太所以想要listA的是這樣
listA的= {A,B,C,E,F,H,I,J}
燦你們請提出一個解決方案,用O(n)或小於O(n2)來解決這個問題。
我可以遍歷這兩個列表並通過比較刪除重複的實例,但我想要更有效的東西。
你能假定列表已排序嗎? – templatetypedef 2013-04-08 23:59:47
編號順序並不重要! – 2013-04-09 00:02:03
有趣的是,第一個想法似乎總是排序,這當然是非常合理的,因爲它允許線性複雜度的解決方案;但是一般情況下,甚至不必在元素上存在偏序:) – 2013-04-09 00:12:18