题目描述
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。
输入格式
输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数a[i](-1000<=a[i]<=1000,0<=i<N)。数字间以空格分隔。
输出格式
在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。行末无换行
输入样例复制
在这里给出一组输入。例如:
10 3 2 -1 5 3 4 3 0 3 2
输出样例复制
在这里给出相应的输出。例如:
3 4
import java.util.Scanner;
public class StudentSystem {
public static void main(String[] args) {
int n,i;
int max = 0;
Scanner in = new Scanner(System.in);
n = in.nextInt(); //从键盘输入n
int a [] = null; //初始化一个数组
a = new int [n]; //设置数组大小为n
for ( i = 0 ; i < n; i++){
a[i] = in.nextInt(); //从键盘逐个输入数组元素
}
int num = 0; //用来记录出现的次数最多的元素
for( i = 0; i < n; i++){
int count = 0; //用来记录元素出现的次数
for(int j = 0; j < n ; j++){
if (a[i] == a[j])
{
count++;
}
}
if (count > max){ //用打擂台的思想保留出现次数最多的元素和次数
num = a[i];
max = count;
}
}
System.out.println(num + " "+max);
}
}
以上就是本题的一个解法,如果大家有更好的解法欢迎在评论区分享。