【发布时间】:2015-01-28 11:27:50
【问题描述】:
在 haskell 中,给定一个元素列表xs,通过重复遍历所有对排列的最简单方法是:
[(x,y) | x <- xs, y <- xs]
我希望能够做到这一点,但仅限于组合。如果 x 和 y 具有可比性,我可以这样做
[(x,y) | x <- xs, y <- xs, x > y]
但我更喜欢更通用、更高效的解决方案(我知道渐近复杂度将保持平方,但我们可以通过避免使用过滤条件将实际运行时复杂度减半)
【问题讨论】:
标签: haskell functional-programming tuples combinations