查找List / Array中元素重复的次数

时间:2014-02-21 22:51:24

标签: algorithm sorting

我有一个列表/数组,其中包含表单的每个条目[string - > String []]

现在我想找到一个元素随后重复的最大次数

示例:

hash1 -> [method1, method2 , method3]
hash2 -> [method1, method4]
hash3 -> [method1, method5]
hash4 -> [method1, method2, method5]
hash5 -> [method2]
hash6 -> [method2]

答案是4(方法1随后重复四次。我们不能将方法2视为连续重复的最大次数为3)

如果我能用Java获取此代码,我将非常感激。但其他语言也可以使用。

1 个答案:

答案 0 :(得分:1)

我会使用HashMap来保持当前的计数,并使用int来表示最长的链。

For each entry in list
    For each string in entry
        If string in HashMap, increment the value
        Else add to HashMap with value 1
    Remove all pairs from HashMap that weren't in the last entry
    Update longest chain length