题解 | #名字的漂亮度#

名字的漂亮度

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;
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务