我正在寻找一个函数,它可以获取两个列表之间的交集并创建一个新列表,我有这个函数:let intersect x y = Set.intersect (Set.ofList x) (Set.ofList y)
可以实现我想要的功能,但我不想使用 F# 中的任何内置函数
最好使用图书馆的东西,但如果你不能
如果我们假设输入列表已排序(使用List.sort
或者自己写):
let rec intersect a b =
match a with
|h::t -> match b with
|h2::t2 ->
if h=h2 then h::(intersect t t2)
else if h>h2 then intersect t b else intersect a t2
|[] -> []
|[] -> []
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)