Remove duplicate elements: Difference between revisions
Content added Content deleted
m (Categorizing programming examples) |
No edit summary |
||
Line 2: | Line 2: | ||
Given a Array, create a derived Array containing only the unique elements |
Given a Array, create a derived Array containing only the unique elements |
||
==[[C++]]== |
|||
[[Category:C++]] |
|||
C++ with STL using Microsoft Visual C++ 2005 |
|||
using namespace std; |
|||
int data[] = {1, 2, 3, 2, 3, 4}; |
|||
vector<int> ary(data, data + 6); |
|||
sort(ary.begin(), ary.end()); |
|||
ary.erase(unique(ary.begin(), ary.end()), ary.end()); |
|||
==[[Java]]== |
==[[Java]]== |
Revision as of 13:07, 24 January 2007
Remove duplicate elements
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Given a Array, create a derived Array containing only the unique elements
C++
C++ with STL using Microsoft Visual C++ 2005
using namespace std; int data[] = {1, 2, 3, 2, 3, 4}; vector<int> ary(data, data + 6); sort(ary.begin(), ary.end()); ary.erase(unique(ary.begin(), ary.end()), ary.end());
Java
//Using Java 1.5/5.0 Object[] data = new Object[] {1, 2, 3, "a", "b", "c", 2, 3, 4, "b", "c", "d"}; Set uniqueSet = new HashSet(Arrays.asList(data)); Object[] unique = uniqueSet.toArray();
Perl
Interpeter: Perl
my %hash; my @list = (1, 2, 3, 'a', 'b', 'c', 2, 3, 4, 'b', 'c', 'd'); @hash{@list} = 1; # the keys of %hash now contain the unique list my @unique_list = keys(%hash);
Python
data = [1, 2, 3, 'a', 'b', 'c', 2, 3, 4, 'b', 'c', 'd']
Using sets
unique = list(set(data))
See also http://www.peterbe.com/plog/uniqifiers-benchmark and http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52560
Ruby
ary = [1,1,2,1,'redundant',[1,2,3],[1,2,3],'redundant'] uniq_ary = ary.uniq # => [1, 2, "redundant", [1, 2, 3]]