题目描述
blablabla
错误1.没给计数的变量t1,t2赋初值-1
错误2.当初始值都为-1后,有可能因为字符串不包含在s里,循环后仍保持初值-1,此时也满足-1<t2。所以在t1<t2的if里再if t1!=-1
blablabla
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int t1=-1,t2=-1;//计数需要初始化
string s,s1,s2;
char c;
while(cin>>c,c!=','){
s+=c;
}
while(cin>>c,c!=','){
s1+=c;
}
while(cin>>c){
s2+=c;
}
if(s.size()<s1.size()||s.size()<s2.size()){
cout<<"-1";
}
else{
int lena=s1.size();
int lenb=s2.size();
for(int i=0;i<=s.size()-lena;i++)
{
if(s[i]==s1[0])
{
if(s.substr(i,lena)==s1)
{
t1=lena+i-1;
break;
}
}
}
for(int j=s.size();j>=lenb-1;j--)
{
if(s[j]==s2[lenb-1])//cunzai
{
if(s.substr(j-lenb+1,lenb)==s2)
{
t2=j-lenb+1;
break;
}
}
}
//cout<<t1<<' '<<t2<<end
if(t1<t2){
if(t1==-1){
cout<<"-1";
return 0;
}
cout<<t2-t1-1;
return 0;
}
else cout<<"-1";
}
return 0;
}
----------
### 算法1
##### (暴力枚举) $O(n^2)$
blablabla
#### 时间复杂度
#### 参考文献
#### C++ 代码
blablabla
----------
### 算法2
##### (暴力枚举) $O(n^2)$
blablabla
#### 时间复杂度
#### 参考文献
#### C++ 代码
blablabla
```