题解 | #查找兄弟单词#
查找兄弟单词
http://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException; import java.util.*;
public class Main{
public static void main(String[] args){
InputStreamReader reader = new InputStreamReader(System.in);
try(BufferedReader br = new BufferedReader(reader)){
String[] items = br.readLine().split(" ");
int size = Integer.parseInt(items[0]);
String[] dic = new String[size];
String word = items[items.length-2];
int num = Integer.parseInt(items[items.length-1]);
for (int i = 1; i <= size; i++) {
dic[i-1] = items[i];
}
char[] word_chars = word.toCharArray();
HashMap<Integer, String> map = new HashMap<>();
ArrayList<String> list = new ArrayList<>();
for (String dic_item : dic) {
int flag=0;
if (dic_item.length()!=word.length() || dic_item.contains(word)) {
continue;
}
for (int i=0 ;i<word.length();i++){
if (word.replaceAll(String.valueOf(word_chars[i]),"").length() == dic_item.replaceAll(String.valueOf(word_chars[i]),"").length()) flag++;
}
if (flag == word.length()){
list.add(dic_item);
}
}
//进行排序
list.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
System.out.println(list.size());
if (num>=0&&num<=list.size()){
System.out.println(list.get(num-1));
}
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}