Solved

Duplicates

Posted on 1998-09-29
1
195 Views
Last Modified: 2010-03-05
What is the most efficient way to strip duplicates from an array?
0
Comment
Question by:IsleOfView
1 Comment
 
LVL 5

Accepted Solution

by:
b2pi earned 40 total points
ID: 1205023
perldoc perlfaq4

     a) If @in is sorted, and you want @out to be sorted:
 
             $prev = 'nonesuch';
             @out = grep($_ ne $prev && ($prev = $_), @in);
 
         This is nice in that it doesn't use much extra memory,
         simulating uniq(1)'s behavior of removing only adjacent
         duplicates.
 
     b) If you don't know whether @in is sorted:
 
             undef %saw;
             @out = grep(!$saw{$_}++, @in);
 
     c) Like (b), but @in contains only small integers:
 
             @out = grep(!$saw[$_]++, @in);
 
     d) A way to do (b) without any loops or greps:
 
             undef %saw;
             @saw{@in} = ();
             @out = sort keys %saw;  # remove sort if undesired
 

0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question