讨论 / 天哪!超时!
蔡旭昀 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;

}

代码很简单

#1 蔡旭昀@2013-01-31 19:10:00
回复 删除
来人呐

来人呐

#2 遗忘de国度@2013-02-01 02:02:00
回复 删除
B串长度最大500*1024...

find和erase操作一次都是O(n)

操作最大次数可能是n次..

复杂度O(n2) 当然超时..

#3 蔡旭昀@2013-02-06 03:26:00
回复 删除
回复 板凳遗忘de国度 的帖子

如何改进?

#4 蔡旭昀@2013-05-05 03:01:00
回复 删除
up
查看更多回复
提交回复