3

我已经在互联网上搜索了一段时间来解决这个问题。我需要在 Haskell 中创建一个函数,该函数从输入字符串中生成所有可能的组合而不会重复。

例子:

combination "new"

将作为输出:

["new","nwe","enw","ewn","wne","wen"]  

有人可以帮我吗?

4

2 回答 2

10

Data.List模块具有permutations完全满足您需要的功能。

于 2013-06-19T17:10:44.783 回答
7

胡格尔是你最好的朋友。快速搜索类型[a] -> [[a]]会给出排列作为第二个结果。如果您正在搜索函数,尝试 hoogle 总是好的,因为 haskell 中的类型有很多关于函数正在做什么的信息,并且受限类型搜索很可能会找到您正在寻找的功能。例如,上述类型在 hoogle 的数据库中只有四个函数,它们具有完全匹配的类型,并且在大多数情况下,这些信息都足以明确地推断出函数的语义。

于 2013-06-19T19:10:18.727 回答