题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
import java.util.Scanner;
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int nums = in.nextInt();
String[] dir = new String[nums];
for (int i = 0; i < nums; i++)
dir[i] = in.next();
String x = in.next();
int k = in.nextInt();
Arrays.sort(dir);
List<String> brothers = new LinkedList<>();
TreeMap<Character, Integer> mp = new TreeMap<>();
for (int i = 0; i < x.length(); i++) {
char ch = x.charAt(i);
if (!mp.containsKey(ch)) mp.put(ch, 0);
else {
mp.put(ch, mp.get(ch) + 1);
}
}
for (String s : dir) {
if (s.length() != x.length() || s.equals(x)) continue;
TreeMap<Character, Integer> bro_mp = new TreeMap<>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (!bro_mp.containsKey(ch)) bro_mp.put(ch, 0);
else {
bro_mp.put(ch, bro_mp.get(ch) + 1);
}
}
if(!bro_mp.equals(mp)) continue;
brothers.add(s);
}
System.out.println(brothers.size());
if(k<=brothers.size())
System.out.println(brothers.get(k-1));
}
}
