2

配列で最大回数発生する最小値を見つける必要があります。それらの値を他の配列に保存しています。

my @arr=(1,2,3,4,1,3,4,1);

1 は、最大回数発生する最小値です。

4

3 に答える 3

3

ハッシュを使用して、各数値の出現回数をカウントできます。最も頻度の高い数は、頻度の に等しい頻度を持つものとして見つけることがmaxできます。それらの最小値は、 、 、および の両方で見つけることがminできます。minmaxList::Util

#!/usr/bin/perl

use warnings;
use strict;

use List::Util qw(min max);

my @arr = (1, 2, 3, 4, 1, 3, 4, 1);
my %occurrences;
$occurrences{$_}++ for @arr;
my $max_freq = max(values %occurrences);
print min(grep $max_freq == $occurrences{$_}, keys %occurrences);
于 2013-09-17T07:34:51.103 に答える