gpt4 book ai didi

haskell - 找到这两组项目的所有可能组合的聪明方法是什么?

转载 作者:行者123 更新时间:2023-12-03 14:48:57 24 4
gpt4 key购买 nike

假设我有两种元素

data Item1 = A | B | C
data Item2 = D | E | F

还有两套
set1 = [A,B,C]
set2 = [D,E,F]

我想找到匹配两组项目的所有独特方法,答案应该是(非正式表示法):
AD,BE,CF
AD,BF,CE
AE,BD,CF
AE,BF,CD
AF,BD,CE
AF,BE,CD

换句话说,我想要一些完成以下任务的功能:
combine :: [Item1] -> [Item2] -> [[(Item1,Item2)]]
combine = undefined

注意每个组合应该是一个元组,上面枚举方案中的每一行都应该是一个列表,例如:
[(A,D),(B,E),(C,F)]

最佳答案

用这个

import Data.List (sort, permutations)
combine as bs = zipWith zip (repeat as) (sort $ permutations bs)

关于haskell - 找到这两组项目的所有可能组合的聪明方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com