题解 | #查找兄弟单词#

查找兄弟单词

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

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(); //单词数量
        String[] arr = new String[n]; //单词数组
        for (int i = 0; i < n; i++) {
            arr[i] = in.next();
        }
        String x = in.next(); //目标单词
        int k = in.nextInt(); //要求查的第k个字典序兄弟单词
        //将x单词字母排序
        String sortedX = sortStr(x);
        //依次比较每个单词
        List<String> res = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            if (x.length() != arr[i].length()) {
                continue;
            }
            if (x.equals(arr[i])) {
                continue;
            }
            if (sortedX.equals(sortStr(arr[i]))) {
                res.add(arr[i]);
            }
        }
        System.out.println(res.size());
        Collections.sort(res);
        if (res.size() >= k) {
            System.out.println(res.get(k - 1));

        }

    }
    //将单词按字母排序
    public static String sortStr(String str) {
        char[] arr = str.toCharArray();
        Arrays.sort(arr);
        return new String(arr);
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-29 12:06
点赞 评论 收藏
分享
想按时下班的大菠萝在...:隔壁学校的,加油多投, 实在不好找可以下个学期开学找,把算法八股准备好,项目有空再换换
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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