0
有人可以在Perl中提供一個很好的/好的解決方案,用於比較兩個數組(a和b),它們檢查數組a中的每個元素是否在數組b中找到(並且只在數組b中找到一次)?在Perl中比較2個數組
有人可以在Perl中提供一個很好的/好的解決方案,用於比較兩個數組(a和b),它們檢查數組a中的每個元素是否在數組b中找到(並且只在數組b中找到一次)?在Perl中比較2個數組
你介意和項目爲b,不是在?你有它的措辭b可以有更多的項目比a。另外,您需要指定在數組中重複項目時發生的情況。下面是一些代碼,用於查找b中是否至少有一個項目:
#!/usr/bin/perl
use strict;
use warnings;
sub all_in_second {
my ($first, $second) = @_;
my %in_second = map { $_ => 1 } @$second;
for my $item (@$first) {
return 0 unless $in_second{$item};
}
return 1;
}
my @a = (1, 2, 3, 3, 4);
my @b = (1, 2, 3, 4, 5);
print all_in_second(\(@a, @b)) ? "true" : "false", "\n";
@a = (1, 2, 3, 3, 6);
@b = (1, 2, 3, 4, 5);
print all_in_second(\(@a, @b)) ? "true" : "false", "\n";