当前位置: 首页 > news >正文

笔试-二维数组2

应用

现有M(1<=M<=10)个端口组,每个端口组是长度为N(1<=N<=100),元素均为整数。如果这些端口组间存在2个及以上的元素相同,则认为端口组可以关联合并;若可以关联合并,请用二位数组表示输出结果。其中,组内相同元素仅保留一个,从小到大排序;组外顺序保持输入顺序。

实现

M = int(input("请输入端口组个数M:"))
portgroups = []for i in range(0, M):pg = []string = input("请输入端口组的整数值,以空格分隔:").split()   for j in string:pg.append(int(j))portgroups.append(pg)
# 二维数组
print(f"初始二维数组为:{portgroups}")def associate(list1, list2):same_element_num = 0for i in range(0, len(list1)):for j in range(0, len(list2)):if list1[i] == list2[j]:same_element_num += 1if same_element_num >= 2:# 合并、去重a = list(set(list1 + list2))# 排序b = sorted(a)# print(f"{list1}、{list2}相关联,结果为{b}")return b# else:#     print(f"{list1}、{list2}不相关联")def integrate(portgroups):for i in range(0, len(portgroups)):for j in range(i+1, len(portgroups)):# 由于后面将个别列表置空了,所以增加判断,减少计算量if portgroups[i] and portgroups[j]:pg_associated = associate(portgroups[i], portgroups[j])if pg_associated:# 原二维数组的第i行列表被更换为关联列表portgroups[i] = pg_associated# 原二维数组的第j行列表更换为空列表portgroups[j] = []# 把整合后的、新的二维数组作为参数,再放进该函数里执行integrate(portgroups)# print(f"更改后的二维数组为:{portgroups}")new_portgroups = []for i in range(0, len(portgroups)):if portgroups[i]:new_portgroups.append(portgroups[i])return new_portgroupsprint(f"整合后的数组为:{integrate(portgroups)}")
请输入端口组个数M:6
请输入端口组的整数值,以空格分隔:10
请输入端口组的整数值,以空格分隔:4 2 1
请输入端口组的整数值,以空格分隔:9
请输入端口组的整数值,以空格分隔:3 6 9 2
请输入端口组的整数值,以空格分隔:6 3 4
请输入端口组的整数值,以空格分隔:8
初始二维数组为:[[10], [4, 2, 1], [9], [3, 6, 9, 2], [6, 3, 4], [8]]
整合后的数组为:[[10], [1, 2, 3, 4, 6, 9], [9], [8]]
http://www.lryc.cn/news/527056.html

相关文章:

  • vue中使用jquery 实现table 拖动改变尺寸
  • 使用ensp进行ppp协议综合实验
  • 什么是AGI
  • RabbitMQ模块新增消息转换器
  • 验证二叉搜索树(力扣98)
  • vue3 vue2区别
  • IOS 自定义代理协议Delegate
  • 消息队列篇--扩展篇--码表及编码解码(理解字符字节和二进制,了解ASCII和Unicode,了解UTF-8和UTF-16,了解字符和二进制等具体转化过程等)
  • 2024年度总结——理想的风,吹进现实
  • 代码工艺:实践 Spring Boot TDD 测试驱动开发
  • 深度学习|表示学习|卷积神经网络|通道 channel 是什么?|05
  • PCDN的虚拟机与云主机区别
  • 计算机网络 (57)改进“尽最大努力交付”的服务
  • Redis 详解
  • 如何解压rar格式文件?8种方法(Win/Mac/手机/网页端)
  • 网络仿真工具Core环境搭建
  • Coze插件开发之基于已有服务创建并上架到扣子商店
  • ORACLE-主备备-Failover
  • wampserver + phpstrom 调试配置
  • Java Web-Cookie与Session
  • Couchbase UI: Dashboard
  • 每日 Java 面试题分享【第 13 天】
  • 探究 Facebook 隐私安全发展方向,未来走向何方?
  • 第三十一周学习周报
  • 白嫖一个可以公网访问、带评论和图床的博客系统
  • 定时器、计数器
  • Ubuntu Server连接wifi
  • 关于MySQL InnoDB存储引擎的一些认识
  • 深入剖析SpringBoot启动机制:run()方法详尽解读
  • Nginx中部署多个前端项目