Q
n列表的交集
0
A
回答
0
使用未排序列表的解決方案將變得更加混亂。據推測,你會有一個「答案」列表,最初是空的。然後,你會找出兩個清單,並逐一進行;對於每個元素,您需要掃描其他列表以查看它是否存在於該列表中 - 如果存在匹配項,則將該元素存儲在答案中。然後,您將創建一個新的空答案列表,並逐步通過另一個原始列表,在上一個答案列表中搜索匹配元素,並添加到新答案列表中。重複令人厭惡。
這不是特別有效。
對於「排序,合併和迭代」解決方案,使用成對的列表也不如同時並行遍歷N個排序列表,只選擇出現在所有列表中的元素作爲回答。
3
排序使用std::sort
(或者,如果它是一個std::list
,使用std::list::sort
),然後計算使用std::set_intersection
反覆交叉每個列表(它適用於前兩個名單,然後對結果和第三列表,然後將結果和第四列表,等等)。
相關問題
- 1. python中的N-many列表的交集
- 2. 列表的交集
- 3. Prolog列表交集列表
- 4. Python列表:交換的(N + 1)個
- 5. 列表插入,不相交n並行?
- 6. 的n所有組合的交集
- 7. n套之間的最大交集
- 8. 的Python:列表的交集/套
- 9. 兩個鏈接列表的交集
- 10. Prolog三個列表的交集
- 11. 兩個大單詞列表的交集
- 12. 在列表中的python pairwise交集
- 13. 交叉連接'n'次表
- 14. 從defaultdict調用列表的交集(列表)
- 15. 如何找到列表和嵌套列表的交集?
- 16. ArangoDB中(n)陣列的交互AQL
- 17. 如何查找列表交集?
- 18. Python3集,字符串列表的交集和聯合
- 19. * nix:執行列表聯合/交集/列表差
- 20. 生成所有2^n個子集的列表
- 21. 交叉連接(樞軸)與含N-N的表值
- 22. 序言:列表(大小爲N×N)
- 23. 如何做陣列陣列的交集
- 24. 在第二個表中將N列中的值乘以N列?
- 25. 維恩圖最多4列表 - 輸出交集和獨特集
- 26. N ++正則表達式 - 交換訂單
- 27. 子集n個
- 28. 如何在Ruby中找到n個數組的交集?
- 29. 使用LINQ的兩個列表的旗幟交集
- 30. Python:順序重要的嵌套列表的交集
列表有多大?如果它們很小(<1000項),N很小,則排序,合併和迭代可能是最快的。 – 2010-07-25 02:25:24
是的,它很小。但我想知道其他方式。 – 2010-07-25 02:28:31
對於一個普通的情況,沒有更多的可以說。如果您向我們提供一些詳細信息,細微差別,那麼...... – adf88 2010-07-25 11:27:18