gpt4 book ai didi

list - F#中元素的最优雅组合

转载 作者:行者123 更新时间:2023-12-04 16:03:59 25 4
gpt4 key购买 nike

关于F#中元素组合最优雅,最简单的实现的另一个问题。

它应该返回输入元素的所有组合(列表或序列)。
第一个参数是组合中元素的数量。

例如:

comb 2 [1;2;2;3];;
[[1;2]; [1;2]; [1;3]; [2;2]; [2;3]; [2;3]]

最佳答案

一个比ssp更简洁,更快速的解决方案:

let rec comb n l = 
match n, l with
| 0, _ -> [[]]
| _, [] -> []
| k, (x::xs) -> List.map ((@) [x]) (comb (k-1) xs) @ comb k xs

关于list - F#中元素的最优雅组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1222185/

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