华为OD机试真题-端口合并【2023.Q1】

本文介绍了华为在线开发者测试(OD)中的一道真题,涉及端口组的合并问题。题目要求根据端口组间是否存在相同端口进行合并,并给出详细解题思路及参考代码。解题过程中,使用了集合数据结构来存储端口组,通过遍历并比较端口组,找到可合并的组进行合并,最终输出合并后的二维数组。示例展示了不同输入情况下的输出结果。
摘要由CSDN通过智能技术生成

题目描述

有 M(1<=M<=10) 个端口组
每个端口组是长度为N(1<=N<=100)的整数数组,如果端口组间存在2个及以上不同端口相同,则认为这2个端口组 互相关联,可以合并
第一行输入端口组个数M,再输入M行,每行逗号分隔,代表端口组。输出合并后的端口组,用二维数组表示
输入描述
第一行输入一个数字M
第二行开始输入M行,每行是长度为N的整数数组,用逗号分割

输出描述
合并后的二维数组,用二维数组表示
1:组合内同端口仅保留一个,并从小到大排序。
2:组合外顺序保持输入顺序。
示例1:
输入:
4
4
2,3,2
1,2
5
输出:
[[4],[2,3],[1,2],[5]]
输入
3
2,3,1
4,3,2
5
输出
[[1,2,3,4],[5]]

解题思路

将端口组用 TreeSet存储。遍历所有端口组,并且尝试合并它们。如果两个端口组有2个及以上相同的端口,合并它们。重复此操作,直到无法合并任何端口组。

参考代码


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlgorithmHero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值