我已经在互联网上搜索了一段时间来解决这个问题。我需要在Haskell中创建一个函数,它从输入字符串中创建所有可能的组合而不重复。
示例:
combination "new"
将作为输出:
["new","nwe","enw","ewn","wne","wen"]
有人可以帮我这个吗?
答案 0 :(得分:10)
Data.List
模块具有permutations
功能,可以完全满足您的需求。
答案 1 :(得分:7)
Hoogle是你最好的朋友。快速搜索类型[a] -> [[a]]
会将排列作为第二个结果。如果您正在搜索函数,那么尝试使用hoogle总是好的,因为haskell中的类型有很多关于函数正在做什么的信息,并且受限类型搜索很可能找到您正在寻找的功能。例如,上述类型在hoogle的数据库中只有四个函数,具有精确的类型匹配,并且在大多数情况下,函数名称和函数名称足以明确地推断函数的语义。