回答
我終於找到了!我希望它也能幫助別人。
這項任務更好地收集爲LinkedList
bool findNotLast<T>(T item, LinkedList<T> list) {
return list.Count>1 && list.Find(item) != list.Last;
}
只要保持一個
HashSet<T>
Dictionary<T,int>
,並保持你的項目的數量這樣 - 當你排隊隊列中的一個項目,你增加該項目的數量(或將其添加到字典中,如果不存在尚未) - 你可以只需使用dictionary.ContainsKey()
在之前添加新項目以查看項目是否已添加,或檢索項目的計數(在插入後在該情況下>> = 2),這當然要求項目具有正確定義的相等性。
同樣,當您從隊列中取出一個項目時,您將不得不減少字典中項目的計數,並在計數達到零後將其刪除。
此方法爲O(1)查找時間換取額外的內存成本。
+1基本上和我的一樣。儘管你擊敗了我。 – jason 2012-02-15 21:53:35
確實,當你出院的時候,你會想從列表中刪除... – 2012-02-15 21:54:30
啊是的 - 一個'字典
- 1. 如何找出列是否包含任何重複項
- 2. 如何找出數組中包含的項目的位置?
- 3. 如何找出是否與其他表
- 4. 如何查找dataGrid是否包含列
- 5. 如何找出數字(18,2)是否包含小數位?
- 6. 如何把包含其他絕對位置的div的高度?
- 7. 如何找到,如果Powershell的Array包含其他陣列
- 8. 檢查列表是否包含來自EntityFramework中其他列表的項目
- 9. 如何從位置的一個列表,其他這亙古不變的插入項目包含字母數字
- 10. Java比較2列表,看看是否包含其他任何項目
- 11. 確定列表是否包含其他列表
- 12. 驗證列表是否包含所有其他列表值
- 13. $ _COOKIE是否包含由其他域設置的Cookie?
- 14. python如何查找字典是否包含其他字典中的數據
- 15. 查找varchar2列是否包含任何10位數字
- 16. 檢查一個hive表的列值是否包含其他列值
- 17. 如何從其他Maven項目中包含配置數據?
- 18. Piglatin找到一列是否包含另一列的內容
- 19. 如何檢查字符串是否包含列表值,如果包含但是與其他值分開
- 20. 如何查找其他列中值增加的最後日期?
- 21. 如何知道標籤是否包含值或其他標籤?
- 22. 如何找到包含該位置的列表中的字母位置?
- 23. Azure隊列:查找項目是否在隊列中
- 24. 如何查找包含Excel表格中包含宏數據的最後一行?
- 25. 查找列中包含其他列的文本行的公式
- 26. 找到一列是否包含另一列
- 27. LINQ - NHibernate的:一個列表項包含了所有其他列表項
- 28. LINQ - 如果一個列表包含其他列表的元素
- 29. C#查找列表是否包含重複5次的項目
- 30. 如何構建一個Android項目到包含其他項目的jar項目
定義快捷。 – 2012-02-15 21:47:23
@James Michael Hare:計算時間短,內存儘可能少。 – 2012-02-15 21:49:00
@JanTuroň不幸的是,這些在大多數情況下是兩個相反的目標;) – 2012-02-15 21:49:41