当前位置: 首页> 文旅> 艺术 > 免费建设网站有哪些_网络推广托管公司深圳_百度竞价优化软件_磁力搜索引擎2023

免费建设网站有哪些_网络推广托管公司深圳_百度竞价优化软件_磁力搜索引擎2023

时间:2025/7/12 5:07:30来源:https://blog.csdn.net/u010095372/article/details/147194741 浏览次数:1次
免费建设网站有哪些_网络推广托管公司深圳_百度竞价优化软件_磁力搜索引擎2023

碰见一个问题,有一个大数组,如下所示:

xx = [[1, 3, 4], [3, 4, 5], [1, 2, 3, 4, 5], [6], [7, 8], [6, 7, 8]]

大数组里面有好多小的数组,观察发现,小的数组其实有挺多别的小数组的子集,现在问题来了,想看下这里的有多少个能把小数组代表的出来的并集组合。
翻译起来就是,上面的数组我想要出来[[1, 2, 3, 4, 5],[6, 7, 8]]。

其实就是排序整理一下就可以了。

# 定义一个二维数组,每个元素是一个小数组
xx = [[1, 3, 4], [3, 4, 5], [1, 2, 3, 4, 5], [6], [7, 8], [6, 7, 8]]# 按照小数组的长度升序排序
sorted_array = sorted(xx, key=lambda x: len(x))# 初始化一个空列表,用于存储符合条件的索引
xx_index = []# 初始化一个标记数组,用于记录每个小数组是否被处理过
arr_index = [0] * len(sorted_array)# 从排序后的数组的最后一个元素开始倒序遍历
for i in range(len(sorted_array) - 1, 0, -1):# 如果当前元素未被标记为已处理if arr_index[i] == 0:# 遍历排序后的数组中的每一个元素for j in range(len(sorted_array)):# 如果 j 位置的元素未被处理,并且 j 位置的数组长度小于当前 i 位置的数组长度# 并且 j 位置的数组是 i 位置数组的子集if arr_index[j] == 0 and len(sorted_array[j]) < len(sorted_array[i]) and set(sorted_array[j]).issubset(set(sorted_array[i])):# 标记 j 位置的数组为已处理arr_index[j] = 1# 将当前 i 位置的索引加入结果列表xx_index.append(i)
关键字:免费建设网站有哪些_网络推广托管公司深圳_百度竞价优化软件_磁力搜索引擎2023

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: