64,654
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<string>
using namespace std;
int main()
{
string A,B;
getline(cin,A);
getline(cin,B);
for(int i=0;i<B.length();i++)
for(int j=0;j<A.length();j++)
if(A[j]==B[i])
{
A.replace(j,1,"");
j--;
}
cout<<A;
return 0;
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
string A,B;
int t,index=0;
getline(cin,A);
getline(cin,B);
for(int i=0;i<B.length();i++)
{
index=0;
while((t=A.find(B[i],index))!=string::npos)
{
A.replace(t,1,"");
index=t;
}
}
cout<<A;
return 0;
}
#include<iostream>
#include<string>
using namespace std;
int main()
{
string A,B;
int book[256]={0};
getline(cin,A);
getline(cin,B);
for(int i=0;i<B.length();i++)
book[B[i]]=1;
for(int i=0;i<A.length();i++)
if(!book[A[i]])
cout<<A[i];
return 0;
}
代码3提交后也能过,最后一个测试点5ms,和代码2同级别,代码3很容易看出是O(N)的复杂度,那么代码2也是O(N)的复杂度,那么find和replace操作难道都是O(1)的复杂度???求大佬帮忙解释下为什么。