手写代码:统计排序数组中出现次数最多的元素出现的次数?
参考回答:
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); } }