题解 | #HJ094 记票统计#

记票统计

http://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894

import java.util.*;

/**
 * HJ94 记票统计
 */
public class HJ094 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            //存储候选人以及票数
            Map<String, Integer> map = new LinkedHashMap<>();
            //候选人数
            int n = sc.nextInt();
            //无效票数
            int invalid = 0;
            for (int i = 0; i < n; i++) {
                map.put(sc.next(), 0);
            }
            //投票人数
            int m = sc.nextInt();
            for (int i = 0; i < m; i++) {
                String key = sc.next();
                if (map.containsKey(key)) {
                    map.put(key, map.get(key) + 1);
                } else {
                    invalid++;
                }
            }
            for (String key : map.keySet()) {
                System.out.println(key + " : " + map.get(key));
            }
            System.out.println("Invalid" + " : " + invalid);
        }
        sc.close();
    }
}
全部评论
LinkedHashMap相较于Hashmap区别在于LinkedHashMap在插入元素时,每个元素都会按照插入的顺序被放置到链表的末尾
1 回复 分享
发布于 2023-08-24 10:10 湖北
直接用ArrayList<string>不是更好吗</string>
点赞 回复 分享
发布于 2024-08-06 23:27 福建
和我思路一样
点赞 回复 分享
发布于 2024-07-28 14:25 广东
善用API,节省判断逻辑 Integer value = map.computeIfPresent(name, (k, v) -> v + 1); if(value==null){ invalid++; }
点赞 回复 分享
发布于 2023-02-16 00:09 广东
map没有排序,不符合题目要求
点赞 回复 分享
发布于 2022-11-24 16:20 广东

相关推荐

不愿透露姓名的神秘牛友
06-18 22:30
我看都是谁在卷前端!
秋盈丶:搜了下,20人的公司能收到2000份招呼?真有这么夸张吗
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
评论
24
3
分享

创作者周榜

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