【秋招笔试题】多多排序

解法:简单语法题

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

    }
}
相关推荐
风象南几秒前
SpringBoot中6种跨域请求解决方案
java·spring boot·后端
vivo互联网技术2 分钟前
活动中台系统慢 SQL 治理实践
java·数据库·后端
满怀101510 分钟前
Python入门(5):异常处理
开发语言·python
是小李呀~13 分钟前
【工作梳理】怎么把f12里面的东西导入到postman
java
攀小黑13 分钟前
Java 多线程加锁 synchronized 关键字 字符串当做key
java·开发语言
每次的天空23 分钟前
Kotlin 作用域函数:apply、let、run、with、also
android·开发语言·kotlin
小林熬夜学编程26 分钟前
【高并发内存池】第八弹---脱离new的定长内存池与多线程malloc测试
c语言·开发语言·数据结构·c++·算法·哈希算法
余华余华27 分钟前
2024年蓝桥杯Java B组省赛真题超详解析-分布式队列
java·职场和发展·蓝桥杯
破罐子不摔29 分钟前
【C#使用S7.NET库读取和写入西门子PLC变量】
java·c#·.net
独好紫罗兰37 分钟前
洛谷题单3-P1980 [NOIP 2013 普及组] 计数问题-python-流程图重构
开发语言·python·算法