题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
这里主要是,直接把字符串转为char数组,排序后一模一样则为bro。 其余思想比较简单基础。属于笨方法。
import java.io.*;
import java.util.*;
import java.text.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
String[] splitInput = input.split(" ");
int number = Integer.valueOf(splitInput[splitInput.length - 1]);
String target = splitInput[splitInput.length - 2];
List<String> source = new ArrayList();
for (int i = 1; i < splitInput.length - 2; i++) {
source.add(splitInput[i]);
}
getRes(source, target, number);
}
public static void getRes(List<String> source, String target, int number) {
List<String> res = new ArrayList();
for (String a : source) {
if (a.equals(target)) {
continue;
}
if (a.length() != target.length()) {
continue;
}
char[] charA = a.toCharArray();
Arrays.sort(charA);
char[] charT = target.toCharArray();
Arrays.sort(charT);
//转string比较
if (!String.valueOf(charA).equals(String.valueOf(charT))) {
continue;
}
// if(res.contains(a)){
// continue;
// }
res.add(a);
}
Collections.sort(res);
System.out.println(res.size());
if (number > 0 && number < res.size()) {
System.out.println(res.get(number - 1));
}
}
}