[牛客网]字符串价值
Posted PrConstantin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[牛客网]字符串价值相关的知识,希望对你有一定的参考价值。
[编程题]字符串价值
热度指数:7时间限制:1秒空间限制:32768K
有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值
例如: 字符串”abacaba”,里面包括4个’a’,2个’b’,1个’c’,于是这个字符串的价值为4 * 4 + 2 * 2 + 1 * 1 = 21
牛牛有一个字符串s,并且允许你从s中移除最多k个字符,你的目标是让得到的字符串的价值最小。
输入描述:
输入包括两行,第一行一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),其中只包含小写字母(‘a’-‘z’)。
第二行包含一个整数k(0 ≤ k ≤ length),即允许移除的字符个数。
输出描述:
输出一个整数,表示得到的最小价值
示例1
输入
aba
1
输出
2
let ans = (str,num)=>
let str_ = ,ans_arr = [],ret=0
for(let i=0;i<str.length;i++)
if(str[i] in str_)
str_[str[i]]++
else
str_[str[i]]=1
for(let char_ in str_)
ans_arr.push(str_[char_])
for(let i=0;i<parseInt(num);i++)
let max_num = 0,max_index = 0
for(let i=0;i<ans_arr.length;i++)
if(ans_arr[i]>=max_num)
max_num = ans_arr[i]
max_index = i
ans_arr[max_index]--
for(let i=0;i<ans_arr.length;i++)
ret+= ans_arr[i]*ans_arr[i]
return ret
// console.log(ans('abaccd','3'))
console.log(ans('wersrsresesrsesrawsdsw','11'))
以上是关于[牛客网]字符串价值的主要内容,如果未能解决你的问题,请参考以下文章