【数组】求整数序列中出现次数最多的数 (15 分)Java

338 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

用容器写是最好的,这个只是最原始的写法,仅供参考 本题要求统计一个整型序列中出现次数最多的整数及其出现次数。

输入格式: 输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。

输出格式: 在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。

输入样例: 10 3 2 -1 5 3 4 3 0 3 2 结尾无空行 输出样例: 3 4

import java.util.*;
public class Main{
    public static void main(String[] args){
      Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int i,j,num,count,max=-1,maxnum=-1;
        int [] a=new int [1000];
        for(i=0;i<n;i++)
        {
            a[i]=sc.nextInt();
        }
        for(i=0;i<n;i++){
            num=a[i];//外循环用num临时标记
            count=0;//每次判断一个计数清零
            for(j=0;j<n;j++){//内循环逐个向数组里每一个数据进行判断
                if(a[j]==num)count++;
            }
            if(count>max){//外循环里判断最大次数
                max=count;//max是循环外部变量,每次比较后都会更新最大值
                maxnum=a[i];//同理
            }
        }
        System.out.printf("%d %d",maxnum,max);
    }
}