题目
判断字符串里面是否含有所有Eva要买的颜色,如果有,输出多余买的,如果欠缺Eva所需的颜色则输出缺失的颜色
思路
非常简单
代码
#include <iostream>
using namespace std;
int main() {
string s1;
string s2;
cin>>s1;
cin>>s2;
int shop[1000] = {0};
int eva[1000] = {0};
for(int i=0; i<s1.size(); i++) {
shop[((int)s1[i])]++;
}
for(int i=0; i<s2.size(); i++) {
eva[((int)s2[i])]++;
}
bool flag = true;
int extra = 0,miss = 0;
int visit[1000] = {0};
for(int i=0; i<s2.size(); i++) {
if(eva[((int)s2[i])]>shop[((int)s2[i])]&&visit[((int)s2[i])] == 0) {
flag = false;
visit[((int)s2[i])] = 1;
miss = miss+(eva[((int)s2[i])]-shop[((int)s2[i])]);
}
}
if(flag) {
cout<<"Yes "<<s1.size()-s2.size();
} else {
cout<<"No "<<miss;
}
return 0;
}
??正文结束??
本文介绍了一个简单的C++程序,用于判断一个字符串是否包含另一个字符串中所有的颜色名称,并输出多余或缺失的颜色数量。通过使用数组来计数每个字符的出现次数,程序能够高效地完成这一任务。
426

被折叠的 条评论
为什么被折叠?



