/*
整体思路:第一步:遍历sell(商家卖的珠子)数组,经历过这一轮的hash,所有的字符和字符的个数都存进去了
第二部步:用wanted的珠子去抵消商家卖的珠子,如果sell中的珠子>=0,说明商家的珠子够你用的;
如果sell的珠子数量<0,说明商家珠子不够了
第三步:根据第二部的结果,我们使用一个miss,来代表商家缺了多少个珠子
for
*/
#include<bits/stdc++.h>
using namespace std;
int hashTable[256]={0},miss=0;
int main(){
string sell,wanted;
cin>>sell>>wanted;
//第一步:
for(int i=0;i<sell.length();i++){
hashTable[sell[i]]++;
}
//第二部
for(int i=0;i<wanted.length();i++){
hashTable[wanted[i]]--;
if(hashTable[wanted[i]]<0)miss++;
}
//第三步
if(miss>0) cout<<"No"<<" "<<miss;
else cout<<"Yes"<<" "<<sell.length()-wanted.length();
return 0;
}
B1039/A1092
猜你喜欢
转载自blog.csdn.net/tian1191132442/article/details/102827340
今日推荐
周排行