题解 | #名字的漂亮度#

名字的漂亮度

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


全部评论

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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