问题描述
比赛时间又到了!看到气球飘来飘去是多么兴奋。但告诉你一个秘密,评委们最喜欢的时间是猜最热门的问题。比赛结束后,他们将计算每种颜色的气球并找到结果。
今年,他们决定把这份可爱的工作留给你。
今年,他们决定把这份可爱的工作留给你。
输入
输入包含多个测试用例。每个测试用例都以数字 N (0 < N <= 1000) 开头,即分发的气球总数。接下来的 N 行各包含一种颜色。气球的颜色是最多 15 个小写字母的字符串。
N = 0 的测试用例终止输入,并且不处理此测试用例。
N = 0 的测试用例终止输入,并且不处理此测试用例。
输出
对于每种情况,在一行上打印最常见问题的气球颜色。保证每个测试用例都有唯一的解决方案。
示例输入
5 green red blue red red 3 pink orange pink 0
示例输出
red pink
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
if (n == 0)
return;
String[] arr = new String[n];
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.next();
}
Arrays.sort(arr);
int max = 0;
int num = 1;
int len = 0;
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i].equals(arr[i + 1]))
num++;
else {
if (num > max) {
max = num;
len = i;
}
num = 1;
}
}
if (max == 1 && num == 1) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
} else if (max > num)
System.out.println(arr[len]);
else
System.out.println(arr[arr.length - 1]);
}
}
}