- 先输入单词的个数n,再输入n个单词。 再输入一个单词,为待查找的单词x 最后输入数字k
package Niuke.zfc;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Brother {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()){
int n = sc.nextInt();
String [] strArr = new String [n];
for (int i = 0;i<n;i++){
strArr[i]=sc.next();
}
String target = sc.next();
int brotherIndex = sc.nextInt();
processStr( strArr,target,brotherIndex);
}
}
private static void processStr(String [] strArr,String target,int brotherIndex){
Arrays.sort(strArr);
ArrayList<String> list = new ArrayList<>();
for (int i=0;i<strArr.length;i++){
String s = strArr[i];
if(checkBrother(s,target)){
list.add(s);
}
}
System.out.println(list.size());
if(brotherIndex<=list.size()&&list.size()>0){
System.out.println(list.get(brotherIndex-1));
}
}
private static boolean checkBrother(String str,String target){
int len = target.length();
if(str.length()!=len){
return false;
}
if (str.equals(target)){
return false;
}
char [] str1 = str.toCharArray();
Arrays.sort(str1);
char [] str2 = target.toCharArray();
Arrays.sort(str2);
for (int i=0;i<len;i++){
if (str1[i]!=str2[i]){
return false;
}
}
return true;
}
}