题解 | #名字的漂亮度#

名字的漂亮度

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

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let num = 0
rl.on('line', function (line) {
    // 数量最多的字母,就给定漂亮度是26 其次是 25 24 23 ...
    num++
    if(num > 1){
        const s = line.split('')
        // 保存出現的每个字母的出现次数
        // {a:2, b:3}
        const obj = {}
        for(let key  of s){
            if(obj[key]){
                obj[key]++
            }else {
                obj[key] = 1
            }
        }
        // 根据字母出现次数,倒叙排序
        const arr: number[] = Object.values(obj).sort((a: number,b:number)=>b-a) as number[]
        let res = 0
        // 出现次数多,从26--->1一次赋值,这样就嗯呢该得到最大的漂亮度
        for(let i = 0; i < arr.length; i++){
            res += (26-i) * arr[i]
        }
        console.log(res)
    }
});

全部评论

相关推荐

03-04 17:20
电力电子工程师
YOUXIANG:你的实习经历和你的项目对不上,搞电源的为什么不去电源厂实习。简历字有点多?单反激和PFC LLC两个项目,技术面可以问的东西都特别多,细节很多,磁性元件设计那些。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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