我有一个函数'子集',它生成给定集的所有子集:
subsets :: [Int] -> [[Int]]
subsets [] = [[]]
subsets (x:xs) = subsets xs ++ map (x:) (subsets xs)
Run Code Online (Sandbox Code Playgroud)
如何在另一个函数中组合map,foldl和filter以返回包含总和为0的元素的所有子集?
**示例:**
set = [1,-1,5,2,-2,3]
result = [[1,-1],[2,-2],[-1,-2,3]]
Run Code Online (Sandbox Code Playgroud) 有人可以举例说明具有以下签名的函数:
f :: a -> b -> (a -> b)
Run Code Online (Sandbox Code Playgroud)
f接受两个类型为a和b的参数,并返回一个带有类型a的参数并返回类型为b的元素的函数.
我们的老师今天给了我们这个额外的练习,并说它真的很难.我尝试使用lambda表达式编写它,但我失败了.
这是一个非常有趣的练习,如果有人知道如何做,请回答这个问题.谢谢!