在我的申请中,我有以下要求 -
数据结构将仅使用一些值(不是键/值对)填充一次.值可能会重复,但我希望数据结构只存储一次.
我将通过上面创建的数据结构的所有元素迭代100次.元素在迭代中出现的顺序并不重要.
约束1表明我将不得不使用set或unordered_set,因为数据不是键值对的形式.
现在set插入比unordered_set插入更昂贵,但数据结构只在我的程序开头填充一次.
我相信决定因素是我可以多快地迭代数据结构的所有元素.我不确定set或unordered_set对于此目的是否会更快.我相信标准没有提到这个事实,因为这个操作对于任一数据结构都是O(n).但我想知道iterator.next()哪个数据结构会更快.
我计算了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)
有人为此问题有其他函数式编程习惯用法吗?