各位大哥,怎样编写一个Java程序,统计输入数字的个数。当输入0时,表示结束输入。报告频数最大的数。
比如:编写一个程序,读取个数不定的整数,然后查找其中出现频率最高的数字,当输入0时,表示结束输入,例如,如果输入的数据是2340354-33320,那么数字3的出现频率是...
比如:编写一个程序,读取个数不定的整数,然后查找其中出现频率最高的数字,当输入0时,表示结束输入,例如,如果输入的数据是
2 3 40 3 5 4 -3 3 3 2 0 ,那么数字3的出现频率是最高的。请一次输入一个数字。如果出现频率最高的数字不止一个而是多个,则应该将它们全部输出。例如,在线性表9 30 3 9 3 2 4 0,3和9都出现了两次,所以,3和9都应该被报告。主要是解释一下怎样报告频数最高的数。 展开
2 3 40 3 5 4 -3 3 3 2 0 ,那么数字3的出现频率是最高的。请一次输入一个数字。如果出现频率最高的数字不止一个而是多个,则应该将它们全部输出。例如,在线性表9 30 3 9 3 2 4 0,3和9都出现了两次,所以,3和9都应该被报告。主要是解释一下怎样报告频数最高的数。 展开
2个回答
展开全部
我就知道最简单的算法。。。直接统计出每个数字出现的概率,然后对取出概率的最大值对应的数儿就行了,不过感觉算法有点儿太笨了,还是等等看有没有更好的吧
追问
怎样统计出每个数字出现的概率,然后对取出概率的最大值对应的数呢??
追答
用两个序列就行了,第一个序列用来存输入的数儿,第二个序列的对应位置存储出现的次数,然后找到第二个序列最大值的位置,取出第一个序列这个位置的值。我以前好像看到过有比较简单的算法,没记住。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-05-21
展开全部
使用Map<Integer, Integer>处理
追问
嗯嗯,那怎么报告出现频率最高的数字呢??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询