题目要求
题目分析
我已经尽力了,但是仍然会运行超时。以下是我的思路:
题目规定了点赞的特征数是0—1000,所以可以用一个1001长度的int型数组标识各个特征数出现的次数,比如输入889就把数组下标为889的元素改为1,如果又输入一个889,就改为2.这样,等待所有数字输入完毕,就遍历数组,找到最大的数,然后输出这个数的下标即可。
示例代码
import java.util.Scanner;
public class L1_034 {
public static void main(String[] args) {
int[] arr = new int[1001];
Scanner input = new Scanner(System.in);
//参与点赞的人数
int num_people =input.nextInt();
input.nextLine();
/*
* 读取每一个人的点赞情况
*/
int num_zan;
for(int i = 0; i < num_people; i++) {
num_zan = input.nextInt();
for(int j = 0; j < num_zan; j++) {
arr[input.nextInt()]++;
}
input.nextLine();
}
input.close();
//个数
int count = 0;
//最大个数数的下标
int index = 0;
for(int i = 0; i < 1001; i++) {
if(arr[i] >= count) {
count = arr[i];
index = i;
}
}
System.out.println(index + " " + count);
}
}