蔡旭昀 2013-05-05 03:01:00
点我顶贴
收藏
删除
水是水,可是C++竟然超时了!
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a,b;
int e,s=0;
cin >> a >> b ;
e=b.find(a);
while(e>=0)
{
++s;
b.erase(e,(a.size()));
e=b.find(a);
}
cout << s ;
return 0;
}
代码很简单
#2 遗忘de国度@2013-02-01 02:02:00
29248
回复
删除
B串长度最大500*1024...
find和erase操作一次都是O(n)
操作最大次数可能是n次..
复杂度O(n2) 当然超时..