题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
interface BeatyStr {
str: string;
times: number;
}
const lines: Array<string[]> = [];
rl.on('line', function (line: string) {
lines.push(line.split(''));
});
rl.on('close', () => {
lines.forEach((item, index) => {
if (index > 0) {
console.log(getBeaty(item));
}
});
});
const getBeaty = (strs: string[]): number => {
let beatyStrs: BeatyStr[] = [];
let maxBeaty = 0;
strs.forEach((item) => {
const index = beatyStrs.findIndex((i) => i.str === item);
if (index > -1) {
beatyStrs[index].times += 1;
} else {
beatyStrs.push({
str: item,
times: 1,
});
}
});
beatyStrs.sort((a, b) => b.times - a.times);
beatyStrs.forEach((item, index) => {
maxBeaty += item.times * (26 - index);
})
return maxBeaty;
};

查看10道真题和解析