#include<stdio.h>
#include<string.h>
int fun(char str[],char str4[])
{
int i,j,count,end=0;
int len=strlen(str);
int len4=strlen(str4);
for(i=0;i<len;i++)
{
if(str[i]==str4[0])
{
count=0;
j=i;
while(count<len4&&j<=len-1)
{
if(str[j]==str4[count])
{
j++;
count++;
}
else
{
break;
}
}
if(count==len4)
{
end=1;
return j-count;
}
}
}
if(end==0)
{
return -1;
}
}
int main()
{
int i,j;
int len;
int q,k;
char str[105];
scanf("%d",&q);
scanf("%s",str);
for(i=0;i<q;i++)
{
scanf("%d",&k);
{
if(k==1)
{
char str1[105];
scanf("%s",str1);
strcat(str,str1);
printf("%s\n",str);
}
else if(k==2)
{
int Index,p;
scanf("%d %d",&Index,&p);
for(j=Index;j<Index+p;j++)
{
printf("%c",str[j]);
str[j-Index]=str[j];
}
printf("\n");
str[p]='\0';
}
else if(k==3)
{
int Index;
int len2;
char str2[105];
char str3[105];
scanf("%d",&Index);
scanf("%s",str2);
len=strlen(str);
len2=strlen(str2);
strcpy(str3,&str[Index]);
strcpy(&str[Index],str2);
strcat(str,str3);
puts(str);
}
else if(k==4)
{
char str4[105];
scanf("%s",str4);
printf("%d\n",fun(str,str4));
}
}
}
return 0;
}
这个fun()的时间复杂度不是O²吗,放在主函数的for循环里时间复杂度变O3不会超时吗,有没有大神指导一下。感谢