Haskell 比较两个字符串并在两个字符串中显示字符

Haskell 比较两个字符串并在两个字符串中显示字符,haskell,count,Haskell,Count,我需要一个显示字符的函数,这些字符位于同一个卷积的两个给定字符串上 例如: 选中字符“aabbcf”“aabce”=>“ac” 我得到的是: import Data.List import Data.Map checkChars a b = nub $ intersect a b where 这基本上与两个列表相交,但是在where之后,我需要计算字符并对其进行过滤的代码。这可能吗?不知道这是否是您想要的,但我假设您希望只输出出现相同次数的字母。这可以做到: checkChars

我需要一个显示字符的函数,这些字符位于同一个卷积的两个给定字符串上

例如:

选中字符“aabbcf”“aabce”=>“ac”

我得到的是:

import Data.List 
import Data.Map
checkChars a b = nub $ intersect a b
    where 

这基本上与两个列表相交,但是在where之后,我需要计算字符并对其进行过滤的代码。这可能吗?

不知道这是否是您想要的,但我假设您希望只输出出现相同次数的字母。这可以做到:

checkChars a b = concatMap (take 1) $ intersect (group (sort a)) (group (sort b))

由于相同的字符被分组在一起,使用什么谓词来统计哪些字符和过滤器列出哪些列表?
nub
是多余的。而不是
nub。concat
我们可以使用
concat地图(取1)
。啊,是的,没错。这看起来像是一个家庭作业问题,也许不应该回答,哈哈。