题解 | #查找兄弟单词#

查找兄弟单词

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])
    }
}

全部评论

相关推荐

Cassifa:发的字比你都多的一律视为骗子或者想白嫖压榨实习生的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务