题解 | #查找兄弟单词#

查找兄弟单词

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

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

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        ArrayList<String> list = new ArrayList<>();
        while (in.hasNext()) { // 注意 while 处理多个 case
            String[] a = in.nextLine().split(" ");
            int len = Integer.parseInt(a[0]);
            int index = Integer.parseInt(a[a.length-1]);
            String[] b = new String[len];
            for(int i=0;i<len;i++){
                b[i] = a[i+1];
            }
            for(int i=0;i<b.length;i++){
                if(a[a.length-2].length()!=b[i].length()) continue;
                if(a[a.length-2].equals(b[i])) continue;
                String target = String.valueOf(a[a.length-2]);
                String tried = String.valueOf(b[i]);
                if(isBro(target,tried)){
                    list.add(b[i]);
                }
            }
            Collections.sort(list);
            System.out.println(list.size());
            if(list.size()>0 && (index-1)<list.size()){
                System.out.print(list.get(index-1));
            }
        }
    }
    private static boolean isBro(String target, String tried) {
        char[] tar = target.toCharArray();
        Arrays.sort(tar);
        char[] tri = tried.toCharArray();
        Arrays.sort(tri);
        if(String.valueOf(tar).equals(String.valueOf(tri))){
            return true;
        }else return false;
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
醉蟀:你是我今年见过的最美牛客女孩
点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务