每个同学喜欢的编程语言各不相同,请编程找出大家都喜欢的一门编程语言。
输入格式:
输入的第一行是记录的个数
第一行之后为每个同学的编程语言记录,姓名与编程语言直接使用英文冒号分开,编程语言之间使用空格分开。
输出格式:
输出为共同喜欢的编程语言(如果结果为空,则输出 none )。
输入样例:
在这里给出一组输入。例如:
3
gcs:java js php
cxy:js python c++
sds:c++ c js
输出样例:
在这里给出相应的输出。例如:
js
代码如下:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
int n = sca.nextInt();
List<String> info = new ArrayList<>();
Map<String, List<String>> student = new HashMap<>();//存放学生输入的信息
for (int i = 0; i < n; i++) {
String str1 = sca.nextLine();
String[] arr1 = str1.split(":");
student.put(arr1[0], Arrays.asList(arr1[1].split(" ")));
}
Collection<List<String>> values = student.values();
Map<String, Integer> resault = new HashMap<>();//存放每门课及其被选的次数
for (List<String> value : values) {
for (String language : value) {
if (resault.containsKey(language))
resault.put(language, resault.get(language) + 1);
else
resault.put(language, 1);
}
}
Set<String> languageName = resault.keySet();
boolean flag = true;
for (String language : languageName) {
if (resault.get(language) == n) {
System.out.println(language);
flag = false;
}
}
if (flag)
System.out.println("none");
}
}
PTA提交结果: