【秋招笔试题】多多排序

解法:简单语法题

java 复制代码
package com.sky;

import java.util.*;

public class Test1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();
        int M = sc.nextInt();

        List<String> words = new ArrayList<>(N);

        for (int i = 0; i < N; i++) {
            String word = sc.next();
            words.add(word);
        }

        Comparator<String> customComparator = (s1, s2) -> {
            boolean s1Contains = s1.contains("PDD");
            boolean s2Contains = s2.contains("PDD");
            if (s1Contains && !s2Contains) {
                return -1;
            } else if (!s1Contains && s2Contains) {
                return 1;
            } else {
                return s1.compareTo(s2);
            }
        };

        Collections.sort(words, customComparator);

        for (int i = 0; i < M; i++) {
            System.out.println(words.get(i));
        }

    }
}
相关推荐
是有头发的程序猿6 分钟前
用Open Claw接口做1688选品、价格监控、货源对比
开发语言·c++·人工智能
chools11 分钟前
Java后端拥抱AI开发之个人学习路线 - - Spring AI【第一期】
java·人工智能·学习·spring·ai
斯班奇的好朋友阿法法25 分钟前
离线ollama导入Qwen3.5-9B.Q8_0.gguf模型
开发语言·前端·javascript
计算机安禾26 分钟前
【数据结构与算法】第19篇:树与二叉树的基础概念
c语言·开发语言·数据结构·c++·算法·visual studio code·visual studio
jeCA EURG29 分钟前
Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明
java·spring boot·后端
Zarek枫煜1 小时前
[特殊字符] C3语言:传承C之高效,突破C之局限
c语言·开发语言·c++·单片机·嵌入式硬件·物联网·算法
BduL OWED1 小时前
Redis之Redis事务
java·数据库·redis
FastBean1 小时前
BizAssert:一个轻量级、生产就绪的 Java 业务断言工具类
java·后端
zhuiyisuifeng1 小时前
Node.js使用教程
java
李庆政3701 小时前
Reactor-core 响应式编程 spring-boot-starter-webflux
java·spring boot·reactor·响应式编程·reactor-core