题解 | 记票统计

#牛客创作赏金赛# #刷题我是认真的#

解题思路:

  1. 思路比较简单:一个Map存储相关的Key对应的数量
  2. 要保证输出顺序,可以使用 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);
        });

    }
}

全部评论

相关推荐

2024-12-16 23:57
已编辑
门头沟学院 Java
蚂蚁国际 SP N+1,另有2k房补,签字费
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务