在Perl中,如何在两个数组中找到整体最小值?

时间:2015-11-30 06:40:43

标签: perl minimum

我有两个包含整数的数组。例如:

@arr1 = ( 2, 5, 6)
@arr2 = ( 1, 4, 7)

如何找到这两个数组之间的最小值?

2 个答案:

答案 0 :(得分:5)

使用List::Util模块的min功能:

use warnings;
use strict;

use List::Util qw( min );

my @arr1 = ( 2, 5, 6 );
my @arr2 = ( 1, 4, 7 );
print min(@arr1, @arr2), "\n";

输出:

1

没有模块,使用sort函数:

my ($min) = sort { $a <=> $b } @arr1, @arr2;
print "$min\n";

答案 1 :(得分:1)

currently accepted answer内存效率低。

如果@arr1@arr2很大,那么构建列表(@arr1, @arr2)只是为了将其传递给min的影响可能很大。

相反,请使用:

use strict;
use warnings;

use List::Util qw( min );

my @arr1 = ( 2, 5, 6 );
my @arr2 = ( 1, 4, 7 );

print min( min(@arr1), min(@arr2) ), "\n";