找到一个出现在二维数组中的元素,最多

时间:2018-02-21 17:40:50

标签: multidimensional-array

在表格(5 x 4,二维数组)提供的数据中,可以看出Bob赢得了大多数赛事,总共赢了3场。

table representing data

我怎样才能算出并弄清楚谁在阵列中出现的名字最多?数组的名称和大小由用户设置,因此可以显示不同的值。

1 个答案:

答案 0 :(得分:0)

您可以使用 HashMap ,将名称作为键及其出现的次数作为其值,然后遍历整个HashMap并找到具有最高值的HashMap。 让我们举个例子,

假设

set(key,value)是一个函数,它接受一个键(例如。' Bob')和相应的值并添加到HashMap对象hm,

get(key),返回此键在hm中出现的次数(HashMap对象),

在穿越你时可以做到,

count = hm.get(some_name)

hm.put(some_name,count+1)

现在遍历地图以找到具有最高值的键。 整体时间和空间复杂度将为O(N * M)。

希望这有帮助。