题解 | 记票统计

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

解题思路:

  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);
        });

    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 11:55
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 11:31
点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
07-10 14:08
已编辑
江西农业大学 Java
念旧select:做完把项目放到自己硬盘里给他看,看完拷走
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务