【秋招笔试题】多多排序

解法:简单语法题

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));
        }

    }
}
相关推荐
牙痛不能吃糖,哭2 分钟前
C++面试复习日记(8)2025.4.25,malloc,free和new,delete的区别
开发语言·c++
健康的猪6 分钟前
golang的cgo的一点小心得
开发语言·后端·golang
echo17542522 分钟前
Apipost免费版、企业版和私有化部署详解
java
夜夜敲码27 分钟前
C语言教程(十六): C 语言字符串详解
c语言·开发语言
宋康34 分钟前
C语言结构体和union内存对齐
c语言·开发语言
异常君39 分钟前
Java 高并发编程:等值判断的隐患与如何精确控制线程状态
java·后端·代码规范
异常君39 分钟前
Java 日期处理:SimpleDateFormat 线程安全问题及解决方案
java·后端·代码规范
都叫我大帅哥41 分钟前
Spring AI中的ChatClient:从入门到精通,一篇搞定!
java·spring·ai编程
都叫我大帅哥42 分钟前
《@SpringBootApplication:Spring Boot的"一键启动"按钮,还是程序员的"免死金牌"?》
java·后端·spring
居然是阿宋44 分钟前
Kotlin高阶函数 vs Lambda表达式:关键区别与协作关系
android·开发语言·kotlin