题目描述
有M个端口组(1<=M<=10),
每个端口组是长度为N的整数数组(1<=N<=100),
如果端口组间存在2个及以上不同端口相同,则认为这2个端口组互相关联,可以合并。
输入描述
第一行输入端口组个数M,再输入M行,每行逗号分割,代表端口组。
备注:端口组内数字可以重复。
输出描述
输出合并后的端口组,用二维数组表示。
组内相同端口仅保留一个,从小到达排序。
组外顺序保持输入顺序
备注:M,N不在限定范围内,统一输出一组空数组[[]]
用例
输入
4
4
2,3,2
1,2
5
输出
[[4],[2,3],[1,2],[5]]
说明
仅有一个端口2相同,不可以合并。
输入
3
2,3,1
4,3,2
5
输出
[[1,2,3,4],[5]]
说明
无
输入
6
10
4,2,1
9
3,6,9,2
6,3,4
8
输出
[[10],[1,2,3,4,6,9],[9],[8]]
说明
无
import java.util.*;
/**
*
*
* 首先,在 `main` 方法中从标准输入读入一个整数 `m`,表示有几组端口列表。然后,利用一个二维列表 `ports`
* 存储每一组端口列表,其中每个子列表存储一个端口列表。接着,对每一组端口列表进行处理,将其分隔为整数列表,
* 并将处理后的结果加入到 `ports` 列表中。如果发现有空的端口列表或者大于1

该文描述了一个Java程序,用于处理多个端口组,如果端口组间存在至少两个相同的端口,则可合并。程序读取输入的端口组数据,对端口进行去重和排序,并按输入顺序输出合并后的结果。主要涉及列表操作、排序算法和条件判断。
5339

被折叠的 条评论
为什么被折叠?



