// 第二题 class Solution { public: /** * * @param k int整型 表示最多的操作次数 * @param s string字符串 表示一个仅包含小写字母的字符串 * @return int整型 */ int string2(int k, string s) { int a[30] = {0}, f[30] = {0}; int len = s.size(); // 字符串长度 int ans = 0; for(int i = 0; i < len; ++i) ++a[s[i]-'a']; // 每一个字母的数量 for(int j = 0; j < 26; ++j) { // 暴力将a~z全部算一遍 memset(f, 0,sizeof(f)); for(int i = 0; i < 26; ++i) f[abs(i-j)] += a[i]; // 用abs(i-j)次修改到当前字母的数量 int res = 0, kk = k; for(int i = 0; i < 26; ++i) { kk -= f[i]*i; if(kk >= 0) res += f[i]; else {res += (kk+f[i]*i)/i; break;} // k 不够 跳出 } ans = max(ans, res); } return ans; // write code here } };
1 1

相关推荐

爱吃烤肠的牛油最喜欢...:50K是ssp了估计,ssp的人家多厉害都不用说,每年比例大概在百分之5左右
点赞 评论 收藏
分享
在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务