爱奇艺编程题:字符串价值

题目:https://www.nowcoder.com/practice/9240357eefcf4d938b90bdd5eec3712b?tpId=90&tqId=30795&tPage=1&rp=1&ru=/ta/2018test&qru=/ta/2018test/question-ranking

#include <bits/stdc++.h>

using namespace std;

bool cmp(const pair<char,int> &p1,const pair<char,int> &p2){

return p1.second > p2.second;

}

int main()

{

string s;

int k;

while(cin >> s >> k){

map<char,int> cnt;

for(auto ch:s)

++cnt[ch];

vector<pair<char,int>> vec;

for(auto it = cnt.begin();it != cnt.end();++it)

vec.push_back(make_pair(it->first,it->second));

int sz = vec.size();

while(k > 0){

sort(vec.begin(),vec.end(),cmp);

vec[0].second -= 1;

--k;

}

int sum = 0;

for(auto i = 0;i < sz;++i)

sum += vec[i].second * vec[i].second;

cout<<sum<<endl;

}

    return 0;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容