Avi*_*oel 1 algorithm scheme haskell functional-programming racket
我计算了4个变量a,b,c和d中字符串中四个字符的出现次数.
现在,我想知道哪个字符出现的次数最多.
我想要一个函数式编程习惯来解决这个问题.
在Haskell中解决它的一种方法如下 -
foldl (\(count1, char1) (count2, char2) -> if count1 > count2 then (count1, char1) else (count2, char2)) (a, "A") (zip [b, c, d] ["B", "C", "D"])
Run Code Online (Sandbox Code Playgroud)
有人为此问题有其他函数式编程习惯用法吗?
在Haskell中,惯用的方法是使用maximumBy:
Data.List Data.Ord> snd . maximumBy (comparing fst) $ zip [4,3,7,1] "abcd"
'c'
Run Code Online (Sandbox Code Playgroud)