目录
牛客_乒乓球筐(简单模拟)
解析代码
牛客_乒乓球筐(简单模拟)
乒乓球筐__牛客网
nowcoder有两盒(A、B)乒乓球,有红双喜的、有亚力亚的……现在他需要判别A盒是否包含了B盒中所有的种类,并且每种球的数量不少于B盒中的数量,该怎么办呢?
解析代码
借助 map 统计出每个盒子中的每种球的类别和数目,然后遍历其中的一个 map 和另外一个 map 进行对比即可。
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
string strA;
string strB;
unordered_map<char, int> mapA;
unordered_map<char, int> mapB;
while (cin >> strA >> strB)
{
mapA.clear();
mapB.clear();
// 统计次数
for (auto& ch : strA)
{
mapA[ch]++;
}
for (auto& ch : strB)
{
mapB[ch]++;
}
bool ret = true;
// 遍历字符串B
for (auto& ch : strB)
{
if (mapA[ch] < mapB[ch])
{
ret = false;
break;
}
}
if (ret)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}