题目描述:
输入描述:
先输入字典中单词的个数,再输入n个单词作为字典单词。 输入一个单词,查找其在字典中兄弟单词的个数 再输入数字n
输出描述:
根据输入,输出查找到的兄弟单词的个数
Java实现:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
String[] dic = new String[n];
for (int i = 0; i < n; i++) {
dic[i] = sc.next();
}
Arrays.sort(dic);
String word = sc.next();
int k = sc.nextInt();
int count = 0;
String broK = "";
for (int i = 0; i < n; i++) {
if (dic[i].equals(word))
continue;
else {
char[] chars = dic[i].toCharArray();
char[] chars1 = word.toCharArray();
Arrays.sort(chars);
Arrays.sort(chars1);
if (Arrays.equals(chars, chars1)) {
count++;
k--;
if (k == 0)
broK = dic[i];
}
}
}
System.out.print(count);
System.out.println();
if (k <= 0)
System.out.println(broK);
}
}
}
知识点:
- 比较两个数组是否相等Arrays.equals()
- 需要先将输入的字符串数组按照字典顺序进行排序,输入给出的序号是按字典顺序排序后的序号
- 需要考虑到k不存在的情况