Java写题解的第4天 | #记票统计#

记票统计

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

解题思路:桶排序+使用LinkedHashMap来保持输出顺序;
又或者,读取输入时使用数组保存候选人名字的顺序

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int candidates = sc.nextInt();
            Map<String, Integer> votes = new LinkedHashMap<>();
            for (int i = 0; i < candidates; i++) {
                votes.put(sc.next(), 0);
            }
            int invalid = 0;
            int tickets = sc.nextInt();
            for (int i = 0; i < tickets; i++) {
                String ticket = sc.next();
                if (votes.containsKey(ticket)) {
                    votes.put(ticket, votes.get(ticket).intValue() + 1);
                } else {
                    invalid++;
                }
            }
            for (Map.Entry<String, Integer> entry: votes.entrySet()) {
                System.out.println(entry.getKey() + " : " + entry.getValue().intValue());
            }
            System.out.println("Invalid : " + invalid);
        }
    }
}
全部评论

相关推荐

暮雨轻歌:看起来hr不能接受我菜查看图片
点赞 评论 收藏
分享
2024-12-21 18:48
西安邮电大学 C++
黑皮白袜臭脚体育生:按使用了什么技术解决了什么问题,优化了什么性能指标来写会更好另外宣传下自己的开源仿b站微服务项目,GitHub已经390star,牛客上有完整文档教程
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务