题解 | #名字的漂亮度#

名字的漂亮度

https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

很漂亮的代码 object转array及object排序的运用 完整代码如下:
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
let lines = [];
void async function () {
    // Write your code here
    while(line = await readline()){
        lines.push(line);
        if (lines.length - 1 == parseInt(lines[0])) {
            for (let i = 1; i <= lines.length; i++) {
                console.log(maxBeauty(lines[i]));
            }
        }
    }
}()
function maxBeauty(str){
    let arr = str.split('');
    let object = arr.reduce((a, b) => ({...a, [b]: 1 + (a[b] = a[b] ? a[b] : 0)}), {});
    let m = 26
    let ordered = Object.entries(object).sort(([,a],[,b]) => b-a).reduce((r, [k, v]) => ({ ...r, [k]: m-- }), {});
    let res = 0
    for (let i = 0; i < str.length; i++){
        res += ordered[str[i]]
    }
    return res;
}


全部评论

相关推荐

05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
05-23 19:02
吉林大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务