gpt4 book ai didi

list - 列表的 Haskell 连续子列表

转载 作者:行者123 更新时间:2023-12-04 22:18:28 26 4
gpt4 key购买 nike

嗨,我有这个小函数可以找到集合的幂集,但我需要所有连续的子列表。 [1,2,3] -> [[],[1],[2],[3],[1,2],[2,3],[1,2,3]]而不是 [[],[3],[2],[2,3],[1],[1,3],[1,2],[1,2,3]]
有没有办法修复这个功能来做我想做的事?

sublists :: [a] -> [[a]]
sublists [] = [[]]
sublists (x:xs) = sublists xs ++ map (x:) (sublists xs)

最佳答案

它不是很优雅,但您可以使用 divvy来自 Data.List.Split :

xs = [1,2,3]
[] : concat [ divvy n 1 xs | n <- [1..length xs] ]
-- [[],[1],[2],[3],[1,2],[2,3],[1,2,3]]

关于list - 列表的 Haskell 连续子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49151573/

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