----- Original Message -----
From: "$Bill Luebkert" <[EMAIL PROTECTED]>
To: "sekhar kavuru" <[EMAIL PROTECTED]>
Cc: <[email protected]>
Sent: Thursday, June 01, 2006 3:59 AM
Subject: Re: Analyzing perl array to extract maximum occuring element
sekhar kavuru wrote:
How to identify a maximum occuring element in a Perl Array
e.g @array values are CMSIF CMSIF CMSFV
Since CMSIF has two occurences , I need to select CMSIF
Any suggestions
Lots of ways to do it.
I'd probably just map it into a hash increasing the count by one
for each occurence - then sort the hash by value.
my @a = qw(CMSIF FUBAR CMSIF CMSFV CMSIF FUBAR);
my %h;
map { $h{$_}++ } @a;
my @b = sort { $h{$a} cmp $h{$b} } keys %h;
print "$b[0]\n";
Excelent Bill ! But could be improve like this:
my @a = qw(CMSIF FUBAR CMSIF CMSFV CMSIF FUBAR);
my %h;
my $max=0;
map { $h{$_}++; $max=$h{$_} if $h{$_} > $max; } @a;
my @b = sort { $h{$a} cmp $h{$b} } keys %h;
print "$b[0] occurs $max\n";
Petr Vileta, Czech republic
(My server reject all messages from Yahoo and Hotmail. Send me your mail
from another non-spammer site please.)
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs