码迷,mamicode.com
首页 > 其他好文 > 详细

Perl-求交集和并集(Nvidia2018笔试)

时间:2020-03-05 10:22:02      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:bsp   col   代码   height   intersect   输出   元素   大小   VID   

1、原题

技术图片

 

 2、代码

@A = (5,6,7);  # 数组用@和圆括号,用$A[index]访问;哈希用%和圆括号,用
                             # $A{key}访问
@B = (6,7,8);

@intersection;
@union;

# 计算交集,依次取出A中元素,判断其是否与B中的某个元素相等
foreach $a (@A){
    for($i=0;$i<@B;$i++){   # @B的含义由上下文决定,此处表示其size
        if($B[$i] == $a){
            push(@intersection,$a);
        }
    }
}

print("intersection is:\n");
foreach $item (@intersection){
    print("$item ");
}
print("\n");

# 计算并集,先将A和B直接合并,接着依次判断A_B中的各个元素是否已经存在于
# 当前的union数组中,若没有则push进去
@A_B = (@A,@B);
for $item (@A_B){
    $item_in_current_union = 0;
    for($i=0;$i<@union;$i++){
        if($union[$i]==$item) {
                $item_in_current_union = 1;
        }
    }
    if($item_in_current_union == 0){ 
        push(@union,$item);
        $size = @union;                # union的大小动态改变
        print("union size is $size\n");
    }
}

print("union is:\n");
foreach $item (@union){
    print("$item ");
}
print("\n");

3、输出

intersection is:
6 7
union size is 1
union size is 2
union size is 3
union size is 4
union is:
5 6 7 8

 

Perl-求交集和并集(Nvidia2018笔试)

标签:bsp   col   代码   height   intersect   输出   元素   大小   VID   

原文地址:https://www.cnblogs.com/wt-seu/p/12418611.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!