1084. Broken Keyboard (20)
写完之后才发现应该先把所有的输入变成大写字母,就没后面这么多toupper要写了。懒得改了。。。日常水题#include <vector>#include <iostream>#include <algorithm>#include <string>#include <set>#include <cctype>using namespace std;int main(void)
·
写完之后才发现应该先把所有的输入变成大写字母,就没后面这么多toupper要写了。
懒得改了。。。
日常水题
#include <vector>
#include <iostream>
#include <algorithm>
#include <string>
#include <set>
#include <cctype>
using namespace std;
int main(void)
{
string temp1, temp2;
cin >> temp1 >> temp2;
int index1 = 0, index2 = 0;
int leng1 = temp1.size(), leng2 = temp2.size();
set<char> res;
vector<char> re;
while (index1 < leng1 && index2 < leng2)
{
if (temp2[index2] == temp1[index1])
{
index1++;
index2++;
}
else
{
if (res.count(toupper(temp1[index1]))== 0)
{
res.insert(toupper(temp1[index1]));
re.push_back(toupper(temp1[index1]));
index1++;
}
else
{
index1++;
}
}
}
while (index1 < leng1)
{
if (res.count(toupper(temp1[index1])) == 0)
{
res.insert(toupper(temp1[index1]));
re.push_back(toupper(temp1[index1]));
index1++;
}
else
{
index1++;
}
}
int i;
for (i = 0; i < re.size(); i++)
{
printf("%c", re[i]);
}
}
哦哦说一下,为啥要用set。
pat的尿性总是要卡你的时的。
我不知道直接用vector去find会不会超时。
set的查找只需要log(N)的时间,所以多做一个set容器,作为检查容器。
这样能减少很多的时间。
更多推荐
已为社区贡献2条内容
所有评论(0)