完美字串
約翰認為字串的完美度等於它裡面所有字母的完美度之和。每個字母的完美度可以由你來分配,不同字母的完美度不同,分別對應一個1-26之間的整數。
約翰不在乎字母大小寫。(也就是說字母F和f)的完美度相同。給定一個字串,輸出它的最大可能的完美度。例如:dad,你可以將26分配給d,25分配給a,這樣整個字串完美度為77。
Input
輸入一個字串S(S的長度 <= 10000),S中沒有除字母外的其他字元。
Output
由你將1-26分配給不同的字母,使得字串S的完美度最大,輸出這個完美度。
Input示例
dad
Output示例
77
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
int counter[26];
const int OFFSET = 'a' - 'A';
int fun(string &input)
{
memset(counter, 0, sizeof(counter));
int len = input.length();
for (int i = 0; i < len; i++)
{
if (input[i] <= 'z' && input[i] >= 'a')
{
counter[input[i]-'a']++;
}
else if (input[i] <= 'Z' && input[i] >= 'A')
{
counter[input[i]-'A']++;
}
}
sort(counter, counter+26);
int num = 26;
int result = 0;
for (int i = 25; i >= 0; i--)
{
if (counter[i] == 0)
{
break;
}
else
{
result += counter[i] * num;
num--;
}
}
return result;
}
int main()
{
string input;
cin >> input;
cout << fun(input) << endl;
return 0;
}
相關文章
- Java與JavaScript 完美實現字串拆分(利用陣列儲存)與合併的互逆操作JavaScript字串陣列
- Redis ,真的不完美Redis
- MAC地址完美攻略Mac
- 字串-字串分割字串
- 完美同行 樂趣新生!《完美世界》手遊新版本今日上線
- 盤古iOS9.2-iOS9.3.3越獄工具:完美,也不完美iOS
- Laravel 完美使用ThinkPHP路由LaravelPHP路由
- Logcat完美輸出GC
- swistak35:不要追求完美的程式碼;爭取完美的界限!
- 完美相容M1/M2 MAMP Pro for Mac完美破解版Mac
- 字串-簡單字串排序字串排序
- BIGC嘉賓說——完美世界總裁、完美世界遊戲CEO魯曉寅GC遊戲
- android加密解密完美教程Android加密解密
- C語言完美體系C語言
- IPAD成功完美越獄iPad
- 字串-簡單字串比較字串
- 字串查詢(字串雜湊)字串
- 比較字串和數字串字串
- xml字串轉JSON字串XML字串JSON
- 字串字串
- 字串相乘——求字串的乘積字串
- MySQL 字串函式:字串擷取MySql字串函式
- py匹配字串中間的字串字串
- 第七章——字串(字串效能)字串
- 比較字串和數字串(續)字串
- JavaFX教程-字串和字串表示式Java字串
- 完美世界財報:2019年完美世界營收80.38億元 同比增長0.05%營收
- iOS 擷取字串中兩個指定字串中間的字串iOS字串
- Awk 字串連線操作(字串轉數字,數字轉字串)字串
- 打造完美編輯器--VS code
- efcore分表下"完美"實現
- bootstrap完美實現5列布局boot
- 攻破javascript面試的完美指南【譯】JavaScript面試
- Macbook 安裝Windows的完美教程MacWindows
- Helm Chart 部署 Redis 的完美指南Redis
- 如何建立完美的單例模式?單例模式
- 原生JavaScript之完美運動框架JavaScript框架
- 讓CSS更完美:PostCSS-modulesCSS