【发布时间】:2011-03-22 00:11:17
【问题描述】:
我有一个未排序的数组,如果存在元素的所有重复项,最好的方法是什么?
例如:
a[1,5,2,6,8,9,1,1,10,3,2,4,1,3,11,3]
所以在该操作之后数组应该看起来像
a[1,5,2,6,8,9,10,3,4,11]
【问题讨论】:
-
这是作业吗?如果没有,许多语言(至少脚本语言)都内置了这个。Ruby:
[1, 2, 3, 2, 3, 1].uniq -
使用一个临时字典,您可以在读取元素时在其中插入元素,以便在字典中已有元素时将其删除。
-
@jtbandes 这不是家庭作业.. 我想知道合适的算法。 @pascal 使用临时字典意味着使用额外的内存(存储)?
-
是的,例如,请参阅 Matthew 的回答。
-
另外,如果你是 C++ 用户..那么在 C++ STL
cplusplus.com/reference/algorithm/unique 中使用 unique()
标签: algorithm arrays data-structures