小红背单词

实现代码:

java 复制代码
 public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        scanner.nextLine(); // 读掉换行符
        
        Map<String, Integer> countMap = new HashMap<>();
        Set<String> remembered = new HashSet<>();
        int k = 0; // 当前记住的单词数
        
        for (int i = 0; i < n; i++) {
            String word = scanner.nextLine();
            
            if (remembered.contains(word)) {
                continue; // 已经记住的单词,直接跳过
            }
            
            // 更新该单词的计数
            int count = countMap.getOrDefault(word, 0) + 1;
            countMap.put(word, count);
            
            // 检查是否满足记住条件
            if (count == k + 1) {
                remembered.add(word);
                k++;
                // 可以移除 countMap 中的记录,因为之后遇到会跳过;不移除也不影响
            }
        }
        
        System.out.println(k);
    }
相关推荐
Wang's Blog2 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
罗西的思考2 小时前
机器人模型(WM / WAM / VLA)综合分析与对比:从「看」到「想」再到「做」
人工智能·算法·机器学习
xifangge20252 小时前
AGENTS.md 怎么写?涵盖 Java、Python、Vue、Go 的 8 套开箱即用模板
java·vue.js·python
Wang's Blog3 小时前
Java框架快速入门: Spring Security+OAuth2之云服务集成与多因子认证设计
java·开发语言·spring
liangsheng_g3 小时前
SpringAOP拦截器链递归与事务钩子补偿源码实战
java·spring
SL_staff3 小时前
制造业私有化文档平台的技术实践:从知识孤岛到可追溯知识资产
java·spring·开源
小哈里4 小时前
【知识】从学科到实践:自然・工程・社科・人文|算法・研发・产品・品牌设计
程序人生·算法·产品·设计·工程
小π军4 小时前
最大重叠区间数量
数据结构·算法
镜像视界(浙江)科技有限公司4 小时前
《视频孪生之上:二维展示终结,三维空间计算重构城市逻辑》——跨摄像连续表达 × 三角测量厘米级定位 × 动态轨迹建模,构建新一代城市空间
大数据·人工智能·算法·矩阵·音视频·空间计算
SL_staff5 小时前
3天上线OKR系统:一名HR与1名工程师如何用JVS完成全栈交付
java·低代码·开源