题解 | #记票统计#

记票统计

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

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {

        int numCount = 0;
        int total = 0;
        int hCount = 0;
        Scanner in = new Scanner(System.in);
        List<String> keys = new LinkedList<>();
        // 注意 hasNext 和 hasNextLine 的区别
        Map<String, Integer> map = new HashMap<>();
        while (in.hasNext()) { // 注意 while 处理多个 case
            boolean has = in.hasNextInt();
            String a = in.next();
            if(has){
                numCount++;
                if(numCount == 1){
                    hCount = Integer.valueOf(a);
                } else if (numCount == 2){
                    total = Integer.valueOf(a);
                }
                continue;
            }

            if(numCount == 1){
                keys.add(a);
                map.put(a, 0);
            } else if (numCount == 2){
                boolean c = map.containsKey(a);
                if(c){
                    map.put(a, map.getOrDefault(a, 0)+1);
                } else {
                    map.put("Invalid", map.getOrDefault("Invalid", 0)+1);
                }
            }
            
        }

        boolean c1 = map.containsKey("Invalid");
        if(!c1){
            map.put("Invalid", 0);
        }
        keys.add("Invalid");

        keys.forEach(i -> {
            System.out.println(i +" : "+ map.get(i));
        });
        
    }
}

#刷题努力下#
全部评论

相关推荐

字节一直是我的白月光,考虑到转正还是拒了日常实习。
从明天开始狠狠卷JV...:为什么你释放的offer没流到我头上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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