题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
本题难点:如何判断为兄弟单词,关键两个点,第一不能一样,第二组成元素一样,则可由A !== B && A.sort() == B.sort(), 具体代码如下
//获取输入流
while (line = readline()) {
//先将输入转为array同时删掉第一个长度元素
let dic = line.split(' ').slice(1);
//通过pop()方法获得需要查找的序数k;
let k = dic.pop();
//再次通过pop()方法获得基准单词word;
let word = dic.pop();
let arr = [];
for (let i = 0; i < dic.length; i ++) {
//利用刚开始说得方法,如果A !== B && A.sort() == B.sort(),则可判定与基准单词word为兄弟单词 if (dic[i] !== word && dic[i].split('').sort().join('') == word.split('').sort().join('')) {
//在新建数组arr中push()该元素
arr.push(dic[i])
}
}
//按字典排序
arr = arr.sort();
//输出获得的数组长度
console.log(arr.length);
//如果数组中第k个元素不为空,则输出该元素
if (arr[k - 1]) {
console.log(arr[k - 1])
}
}