请实现一个能执行以下命令的简易字典
insert str: 向字典中添加字符串str
find srt: 当前字典中包含str时输出yes,不包含时输出no
输入 第1行中输入命令数n。随后n行按顺序输入n个命令。命令格式如上。
输出 对于各find命令输出yes或no,每个输出占一行。
限制 输入的字符串仅由“A”,“C”,“G”, “T”四种字母构成。(脱氧核糖核酸)
1≤字符串长度≤12
n≤1000000
输入事例
6
insert AAA
insert AAC
find AAA
find CCC
insert CCC
find CCC
输出样例
yes
no
yes
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, i;
cin >> n;
string s = "";
while(n--)
{
string a, b;
cin >> a >> b;
if(a[0] == 'i')
{
s += b;
}
else
{
string::size_type idx = s.find(b);
if(idx != string::npos)//判断字符串的包含关系
{
cout << "yes" << endl;
}
else
{
cout << "no" << endl;
}
}
}
return 0;
}
这里的比较字符串的函数,运用了这篇文章提到的
https://blog.csdn.net/u013174689/article/details/38026247
常规解法,即c语言实现的散列法
https://blog.csdn.net/qq_40998706/article/details/86605040