题解 | #记票统计#

记票统计

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


import java.util.*;
//简单的哈希表计数,坑点在于输出的时候要保持输入名字的顺序
public class Main {
    public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            int num = sc.nextInt();
            TreeMap<String,Integerbox = new TreeMap<>();
            String[] names = new String[num];
            for (int i = 0; i < num; i++) {
                String name = sc.next();
                names[i] = name;
                box.put(name,0);
            }
            int votes = sc.nextInt();
            int invalidVotes = 0;
            for (int j = 0; j < votes; j++) {
                String nameOn = sc.next();
                if (box.containsKey(nameOn)){
                    int tickets = box.get(nameOn);
                    tickets++;
                    box.put(nameOn,tickets);
                }
                else{invalidVotes++;}
            }
            for (int k = 0; k < num; k++) {
                System.out.println(names[k]+" : "+box.get(names[k]));
            }
            System.out.println("Invalid : "+invalidVotes);
        }
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
爱吃肉的伊登在写日记:好棒,27届简历能做成这个样子,但是第一个项目感觉cover住难度还是不小的,特别是二面的时候肯定要对分布式系统设计这一块儿有高出正常面试者的水平才行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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