题解 | 记票统计
解题思路:
- 思路比较简单:一个Map存储相关的Key对应的数量
- 要保证输出顺序,可以使用 LinkedHashMap
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(in.nextLine());
String[] arr = in.nextLine().split(" ");
int voters = Integer.parseInt(in.nextLine());
String[] voteArr = in.nextLine().split(" ");
Map<String, Integer> map = new LinkedHashMap<>();
for (int i = 0; i < n; i++) {
map.put(arr[i], 0);
}
map.put("Invalid", 0);
for (int i = 0; i < voters; i++) {
Integer v = map.get(voteArr[i]);
if (v != null) {
map.put(voteArr[i], v + 1);
} else {
map.put("Invalid", map.getOrDefault("Invalid", 0) + 1);
}
}
map.forEach((k, v)-> {
System.out.println(k + " : " + v);
});
}
}
vivo公司福利 363人发布