题目描述
分析:
用一个数组记录第一串珠子中各种颜色的珠子数量,完后遍历第二串珠子,第二串每种珠子减一,当为负数时说明缺少,记录缺少的数量。假如不缺少输出两个珠子的数量差即为多的珠子的数量
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int HashTable[256];
char str[1005];
int main(){
memset(HashTable,0,sizeof(HashTable));
cin.getline(str,1005);
int len1=strlen(str);
for(int i=0;i<len1;i++){
HashTable[str[i]]++;
}
int miss=0;
cin.getline(str,1005);
int len2=strlen(str);
for(int i=0;i<len2;i++){
HashTable[str[i]]--;
if(HashTable[str[i]]<0)
miss++;
}
if(miss>0)
cout<<"No "<<miss<<endl;
else
cout<<"Yes "<<len1-len2<<endl;
}