试题 算法训练 P0502
资源限制
时间限制:1.0s 内存限制:256.0MB
编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印较小的那个值。例如,假设用户输入的是“100 150 150 200 250”,则输出为150。
输入:
6
100 150 150 200 200 250
输出:
150
package 第十次模拟;
import java.util.Scanner;
public class P0502 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] num = new int [n];
for (int i = 0; i < n; i++) {
num[i]=sc.nextInt();
}
sc.close();
int count=1;
int temp=num[0];
int max =1;
for (int i = 1; i <n; i++) {
if(num[i-1]!=num[i]){
if(count>max){
temp=num[i-1];
max=count;
}
count=1;
}
else{
count++;
}
}
if(count>max){
temp=num[n-1];
max=count;
}
System.out.println(temp);
}
}