分析:由于ascii码只有128个,可以建立一个长度为128的数组hashTable,初始化为0 即可。
#include<bits/stdc++.h>
using namespace std;
int main(){
string a,b;//输入两行字符串
int hashTable[128]={0};
cin>>a>>b;
for(int i=0;i<a.length();i++)
hashTable[a[i]]++;
int result=0;//统计缺少珠子的数量
for(int i=0;i<b.length();i++){
if(hashTable[b[i]]>0)//有该种珠子
hashTable[b[i]]--;//对应数组中元素个数减一
else
result++;//没有该种珠子,缺少珠子数量加一
}
if(result!=0)
cout<<"No"<<" "<<result;
else
cout<<"Yes"<<" "<<a.length()-b.length();
return 0;
}