题解 | #查找兄弟单词#
查找兄弟单词
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; } }