192

问答题 192 /413

手写代码:统计排序数组中出现次数最多的元素出现的次数?

参考答案

参考回答:

public class Main {
static void findmost(int[] array){
int lastEle=array[0];
int maxTime=0;
int presentTime=1;
int maxEle=array[0];
for(int i=1;i<array.length;i++)
{
if(array[i]==lastEle)
presentTime++;
else
{
if(presentTime>maxTime)
{
maxTime=presentTime;
maxEle=lastEle;
}
lastEle=array[i];
presentTime=1;
}

if(i==array.length-1 && presentTime>maxTime)// 考虑到比较到最大的元素(排在最后的元素),需要在循环推出前比较一次

{
maxTime=presentTime;
maxEle=lastEle;
}
}

System.out.println("出现次数最多的元素"+maxEle+" "+"出现的次数"+maxTime);

}
public static void main(String args[]) {
int[] array= {1,1,2,2,2,3,4,5,6,6,6,6,6,7,8,8,9};
Main.findmost(array);
}
}