-2
A
回答
5
鲜明的()
var distinctArray = myArray.Distinct().ToArray();
3
你可以叫你在HashSet<int>
构造阵列。 HashSet
是一种优化的集合。它的构造函数消除了非独特的元素。
这里的一个例子在LINQPad;
var array = new[]{1, 4, 3, 7, 4, 9, 5, 1, 5, 6, 3};
HashSet<int> h = new HashSet<int>(array);
h.ToArray().Dump();
这里的结果;
2
这个怎么样:
int[] arr = { 1, 4, 3, 7, 4, 9, 5, 1, 5, 6, 3 };
foreach (int item in arr.Distinct())
{
Console.WriteLine(item);
}
,你也可以将这样的阵列:
int[] unique = arr.Distinct().ToArray();
2
夫妇的建议,发现搜索:
1。 )
int[] s = { 1, 2, 3, 3, 4};
int[] q = s.Distinct().ToArray();
2.)最简单的解决方案是简单地对数组进行排序(如果可以使用它们,则将标准实现采用O(n log n))。否则考虑做一个简单的随机quicksort(代码甚至在wikipedia上))。
之后再扫描一次。在扫描过程中,简单地排除连续的相同元素
如果你想在O(n)中做到这一点,你也可以使用HashSet中已经看到的元素。只需遍历数组,每个元素检查它是否在你的HashSet中。
如果它不在那里,请添加它。如果它在那里,请将它从阵列中移除。
请注意,这将需要一些额外的内存,哈希将有一个恒定的因素,有助于您的运行时。 Althought的时间复杂度比较好,实际运行时将只磺酰基会更快,一旦你超过一定的数组的大小
1
相关问题
- 1. 从C#中的数组中删除相同的元素#
- 2. 如何从数组中删除相同元素的元素
- 3. 删除数组元素(C#)
- 4. 从c数组中删除元素
- 5. 从char数组中删除元素(C)
- 6. 如何删除具有相同值的数组元素?
- 7. 删除数组的元素
- 8. 我需要从列表中删除相同的元素c
- 9. jQuery DOM元素被删除,但子元素数仍然相同
- 10. PHP - 删除数组中相同的同胞(叶)(从数组中删除相同的数组)
- 11. JavaScript删除元素数组
- 12. 删除空数组元素
- 13. 删除JS数组元素
- 14. 删除[]数组元素
- 15. 删除数组元素
- 16. 删除数组中的空值元素
- 17. 存储,删除数组中的元素
- 18. 删除数组中一行的元素
- 19. 如何删除数组中的元素
- 20. 删除数组中无用的元素
- 21. 删除数组中的元素
- 22. 如何删除数组中的元素?
- 23. 删除给定数组中的元素
- 24. 删除jquery中的数组元素
- 25. 如何删除C++中的数组中的特定元素
- 26. 在两个相同长度的数组中删除nan AND对应的元素
- 27. 如何删除String数组或ArrayList中相似的元素
- 28. 删除Ruby数组中的相邻元素?
- 29. 删除元素,C++
- 30. 夫特删除元素,然后从数组中删除相同元件字典的内部
你可以在你清楚linq – Arshad
所以你有什么尝试。一个循环,一个lambda,一个集合,LinQ。表面上看,这应该是微不足道的。 –
你也可以简单地将数组拷贝到一个散列中,这个键和值是一样的。结果将是唯一的 – TravellingGeek