如果都按照字母顺序排好后相等,则是兄弟单词

查找兄弟单词

https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        ArrayList<String> list = new ArrayList<>(n);
        for (int i = 0; i < n; i++) {
            list.add(scanner.next());
        }
        // 字串
        String string = scanner.next();
        // 位置
        int k = scanner.nextInt();
        char[] x = string.toCharArray();
        Arrays.sort(x);

        ArrayList<String> xdList = new ArrayList<>();

        for (String dict : list) {
            // 如果是一样的则不算兄弟单词
            if (string.equals(dict)) {
                continue;
            }
            char[] dictCharArray = dict.toCharArray();
            Arrays.sort(dictCharArray);
            if (new String(dictCharArray).equals(new String(x))) {
                xdList.add(dict);
            }
        }
        // 对兄弟单词排序
        Collections.sort(xdList);

        if (xdList.size() >= k) {
            System.out.println(xdList.size());
            // 注意是k-1,因为数组下标是从0开始的
            System.out.println(xdList.get(k - 1));
        } else {
            System.out.println(xdList.size());
        }
    }



}

全部评论

相关推荐

努力的小明a:项目看着很眼熟,施磊老师吧,我也学的这个😋我当时是把rpc框架做成了一个分布式网盘,这是一个项目,然后muduo库做成集群即时通讯,又用QT做了个交互的客户端,这样又一个项目,然后一个轻量redis,一个CAD,总共四个项目,投了三个月就今天2月份一个小厂Qt offer,然后后面想开了,Qt啥的都能干,这个月get了个北京大厂的offer,做java后端,人生就是这么魔幻,现在就在去北京入职的路上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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