小编ori*_*ion的帖子

Haskell生成子集

我有一个函数'子集',它生成给定集的所有子集:

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)

haskell subset-sum

5
推荐指数
1
解决办法
5773
查看次数

Haskell函数示例

有人可以举例说明具有以下签名的函数:

f :: a -> b -> (a -> b)
Run Code Online (Sandbox Code Playgroud)

f接受两个类型为a和b的参数,并返回一个带有类型a的参数并返回类型为b的元素的函数.

我们的老师今天给了我们这个额外的练习,并说它真的很难.我尝试使用lambda表达式编写它,但我失败了.

这是一个非常有趣的练习,如果有人知道如何做,请回答这个问题.谢谢!

haskell

3
推荐指数
2
解决办法
262
查看次数

标签 统计

haskell ×2

subset-sum ×1