一、题目描述
有M (1<=M<=10)个端口组,每个端口组是长度为N(1<=N<=100)的整数数组,如果端口组间存在2个及以上不同端口相同,则认为这两个端口组互相关联,可以合并。
第一行输入端口组个数M,再输入M行,每行逗号分隔,代表端口组,输出合并后的端口组用二维数组表示。
二、输入描述
端口组内数字可以重复。
三、输出描述
- 组内相同端口仅保留一个,从小到大排序;
- 组外顺序保持输入顺序。
四、Java算法源码
五、效果展示
1、输入
5
7
1,2,5
6
3,6,4,2
7,4,3
2、输出
[[7], [1, 2, 5], [6], [2, 3, 4, 6, 7]]
3、说明
一共有五组数据,只有【3,6,4,2】和【7,4,3】有相同的2个以上字符,可以合并【2, 3, 4, 6, 7】。
4、如果输入改为
5
7
1,2,5
6
3,6,4,2
7,4,3,1
5、会输出什么呢?
一共有五组数据,只有【3,6,4,2】和【7,4,3,1】有相同的2个以上字符,可以合并【2, 3, 4, 6, 7,1】。
此时你会发现,【2, 3, 4, 6, 7,1】与【1,2,5】也存在相同的2个字符,那么此时,会再次合并吗?
🏆下一篇:华为OD机试真题 Java 实现【不爱施肥的小布】【2023Q2 100分】
🏆本文收录于,华为OD机试(JAVA)(2022&2023)
本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。