题解 | 小红书推荐系统

小红书推荐系统

https://www.nowcoder.com/practice/e5b39c9034a84bf2a5e026b2b9b973d0

import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>(16, 0.75F,
                true);
        while (in.hasNext()) {
            String a = in.next();
            linkedHashMap.put(a, linkedHashMap.getOrDefault(a, 0) + 1);
        }
        in.nextLine();
        Set<Map.Entry<String, Integer>> entries = linkedHashMap.entrySet();
        ArrayList<Map.Entry<String, Integer>> list = new ArrayList<>(entries);
        List<Map.Entry<String, Integer>> collect = list.stream().sorted(
        new Comparator<Map.Entry<String, Integer>>() {
            @Override
            public int compare(Map.Entry<String, Integer> o1,
                               Map.Entry<String, Integer> o2) {
                int i = o1.getValue() - o2.getValue();
                if (i != 0) {
                    return -i;
                }
                return o1.getKey().compareTo(o2.getKey());
            }
        }).collect(Collectors.toList());
        collect.stream().filter(e->e.getValue() >= 3).map(e->e.getKey()).forEach(
            System.out::println);
    }
}

全部评论

相关推荐

2025-12-10 19:36
湖北工业大学 Web前端
饿魔:看到在线简历了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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