题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805283241443328
柳:https://www.liuchuo.net/archives/571
思路
建立一个哈希表就完事了
或者直接vector
代码
#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;vector<int> hashtable(62,0);int main(){string c;bool flag = false;cin>>c;for(int i = 0; i < c.size(); i++){if(c[i] <= 'z'&&c[i] >= 'a') hashtable[c[i] -'a']++;else if(c[i] <= 'Z'&&c[i] >= 'A') hashtable[c[i] -'A'+26]++;else if(c[i] <= '10' &&c[i] >= '0') hashtable[c[i] - '0' + 52]++;}cin>>c;for(int i = 0; i < c.size(); i++){if(c[i] <= 'z'&&c[i] >= 'a') hashtable[c[i] -'a']--;else if(c[i] <= 'Z'&&c[i] >= 'A') hashtable[c[i] -'A'+26]--;else if(c[i] <= '10' &&c[i] >= '0') hashtable[c[i] - '0' + 52]--;}for(int i = 0; i < 62; i++){if(hashtable[i]<0) flag = true;}int outNum = 0;//如果有小于0的if(flag){for(int i = 0; i < 62; i++){if(hashtable[i]<0)outNum -= hashtable[i];}printf("No %d",outNum);}else{for(int i = 0; i < 62; i++){outNum += hashtable[i];}printf("Yes %d",outNum);}}
