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

In Perl, how can I find the overall smallest value in two arrays?

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

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

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

使用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";

内存效率低下。

如果 @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";