小红的推荐系统

实现代码:

java 复制代码
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        
        // 分割单词
        String[] words = input.split(" ");
        
        // 统计频率
        Map<String, Integer> freqMap = new HashMap<>();
        for (String word : words) {
            freqMap.put(word, freqMap.getOrDefault(word, 0) + 1);
        }
        
        // 筛选并排序
        List<Map.Entry<String, Integer>> list = freqMap.entrySet().stream()
            .filter(entry -> entry.getValue() >= 3)
            .sorted((a, b) -> {
                // 频次高的在前
                if (!a.getValue().equals(b.getValue())) {
                    return b.getValue() - a.getValue();
                }
                // 频次相同则按字典序升序
                return a.getKey().compareTo(b.getKey());
            })
            .collect(Collectors.toList());
        
        // 输出
        for (Map.Entry<String, Integer> entry : list) {
            System.out.println(entry.getKey());
        }
    }
相关推荐
星乐a12 小时前
String vs StringBuilder vs StringBuffer深度解析
java
萧逸才13 小时前
【learn-claude-code-4j】S14FeiShu - 飞书群聊智能体
java·人工智能·ai·飞书
TImCheng060913 小时前
内容运营岗位适合考哪个AI证书,与算法认证侧重点分析
人工智能·算法·内容运营
赵域Phoenix13 小时前
混沌系统是什么?
人工智能·算法·机器学习
CoderCodingNo13 小时前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
paeamecium13 小时前
【PAT甲级真题】- All Roads Lead to Rome (30)
数据结构·c++·算法·pat考试·pat
好家伙VCC13 小时前
**发散创新:基于Rust的轻量级权限管理库设计与开源许可证实践**在现代分布式系统中,**权限控制(RBAC
java·开发语言·python·rust·开源
Cando学算法13 小时前
双指针之快慢指针
算法
汀、人工智能13 小时前
[特殊字符] 第100课:任务调度器
数据结构·算法·数据库架构·贪心··任务调度器
m0_7190841113 小时前
天机学堂aaaa
java