我如何在下面的序列中找到相同数字的最多出现次数?查找列表中出现的最常见的10号数字
1,5,4,3,2,5,3,1,5,3,7,5,7
这种情况下的答案是5
。
我倾向于将每个数字添加到列表中,如果该数字已经在列表中,则增加一个计数器。在这种方法中,我想我需要为每个数字设置一个计数器。什么是一个人最容易理解的解决方案?
在这种情况下,我用java
这是不工作的尝试:
斯蒂芬的回答略有修改,但这个工程 -
public class Main {
public static void main(String args[]){
int[] numbers = {1,5,4,3,2,5,3,1,5,3,7,5,7,7,7,7,7};
int[] counterArray = new int[numbers.length];
for (int i = 0; i < numbers.length; ++i){
counterArray[numbers[i]] = counterArray[numbers[i]] + 1;
}
int maxNumber = 0;
for (int i = 0; i < numbers.length; ++i){
if(counterArray[i] > counterArray[maxNumber])
{
maxNumber = i;
}
}
System.out.println(maxNumber);
}
}
你在用什么语言? – Cyclonecode
定义优雅,请?更小的空间?计算时间更少?较少的源代码?另外,你的数字可以被认为是小的? – thiton
我使用java,但伪代码就足够了。通过优雅,我的意思是让人们了解步骤简单。 –