在堆栈中查找最多的事件

时间:2012-01-17 23:58:25

标签: java

我是编程新手,所以如果这个问题很简单,请接受我的道歉。

我的老师希望我们创建一个方法,在堆栈中搜索最常出现的名称并将其返回

例如:如果我的堆栈中有这些名称:

老虎伍兹,杰克尼古拉斯,阿诺德帕尔默,杰克尼古拉斯,吉米德梅里特,杰克尼古拉斯,萨姆斯内德,吉米德梅里特,本霍根,沃尔特哈根,汤米阿莫尔,鲍比琼斯

该方法应归还杰克尼古拉斯

请帮助我,因为我需要知道如何为我的程序做这件事

提前谢谢

2 个答案:

答案 0 :(得分:2)

您的计划需要执行以下操作:

  1. 创建或获取名称列表,并将它们全部添加到堆栈中。
  2. 迭代堆栈中的每个项目并跟踪遇到的次数(称为频率计数)。
  3. 确定哪个名称具有最高频率计数并返回该值。
  4. 尝试实施上述每个步骤,并针对您遇到的任何具体问题更新您的问题。

答案 1 :(得分:0)

解决这个问题的一个简单方法就是做maerics所说的。但要更具体一点,使用字符串(名称)作为键创建HashMap,使用int(频率)作为值。然后遍历堆栈中的每个名称并将其添加到HashMap并将该名称的频率增加1.如果HashMap中已有名称,则只需增加其频率。完成后,频率最高的名称将是您想要获得的名称。