小红的推荐系统

实现代码:

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());
        }
    }
相关推荐
张np20 小时前
java基础-ListIterator 接口
java·开发语言
韩立学长20 小时前
【开题答辩实录分享】以《足球球员数据分析系统开题报告》为例进行选题答辩实录分享
java·数据库·mysql
高频交易dragon20 小时前
An Impulse Control Approach to Market Making in a Hawkes LOB Market从论文到生产
人工智能·算法·机器学习
牧小七20 小时前
Java CompletableFuture 使用详解
java
jiayong2320 小时前
MINA框架面试题 - 实战篇
java·io·mina
数智工坊20 小时前
【操作系统-处理器调度】
java·linux·服务器·windows·ubuntu
Coder_Boy_20 小时前
基于SpringAI的在线考试系统-考试管理功能布局+交互优化方案
java·数据库·人工智能·spring boot·交互·ddd·tdd
java修仙传20 小时前
力扣hot100:划分字母区间
算法·leetcode·职场和发展
Tao____20 小时前
可以本地部署的物联网平台
java·开发语言·物联网·mqtt·低代码