Arrays 查找一组数组的所有子集(perl)
我有一堆数组@a1,@a2@ak(我不知道有多少)。我想创建一个数组,其中包含数组幂集的并集。i、 例如,当且仅当某个数组的条目包含在某个i的@ai中时,该数组才在输出中。输出不应有重复项 我能想到的唯一方法是创建一个包含每个数组的幂集的数组,然后将这些幂集合并。然而,当加入工会时,我必须检查是否在进入方面平等 还有更好的吗 比如,取所有数组的并集,取幂集,然后删除那些不应该在其中的东西,这样做是行不通的,因为数组的并集太大了 编辑: 例如,假设(1,2)、(2,3,4)中的输入,则输出应为 (), (1), (2), (3), (4), (1,2), (2,3), (3,4), (2,4), (2,3,4). 任何订单都可以接受。Arrays 查找一组数组的所有子集(perl),arrays,perl,powerset,Arrays,Perl,Powerset,我有一堆数组@a1,@a2@ak(我不知道有多少)。我想创建一个数组,其中包含数组幂集的并集。i、 例如,当且仅当某个数组的条目包含在某个i的@ai中时,该数组才在输出中。输出不应有重复项 我能想到的唯一方法是创建一个包含每个数组的幂集的数组,然后将这些幂集合并。然而,当加入工会时,我必须检查是否在进入方面平等 还有更好的吗 比如,取所有数组的并集,取幂集,然后删除那些不应该在其中的东西,这样做是行不通的,因为数组的并集太大了 编辑: 例如,假设(1,2)、(2,3,4)中的输入,则输出应为 (
- 使用中的
为每个阵列生成功率集子集
- 对每个子集的成员进行排序,以便包含相同值的子集形成相同的序列
- 从每个排序的子集形成一个字符串,比如用空格分隔它们<代码>“@subset”将为您执行此操作
- 将字符串用作哈希元素的键
- 对所有阵列执行相同的操作
- 打印哈希表的键 检查 输出
(1,2)
(2)
(1)
()
(2,3,4)
(3,4)
(2,4)
(4)
(2,3)
(3)
我认为您需要显示数组的值,并更具体地说明您打算做什么。它们嵌套得很深吗?数组的值是(小)整数。你能提供输入和所需输出的示例,并链接到描述吗?(我不知道你所说的一些术语是什么意思。)是的,什么是幂集(我知道这个数学术语的意思,但你似乎不是这样使用它的)。显示示例数据和输出以及您尝试的任何代码这取决于正在排序的
powerset\u lazy
返回的集合元素。它们看起来与原始数组的顺序相同,但文档中没有这样说。如果原始集合中存在非相邻的重复项,则该操作无效。让OP执行其所需的测试。
(1,2)
(2)
(1)
()
(2,3,4)
(3,4)
(2,4)
(4)
(2,3)
(3)