分析
只需考虑两个相同字符的间距即可,若间距大于1,则不要前一个字符,这样只需
O
(
n
)
O(n)
O(n)复杂度即可解决。
代码
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define FULL(x,y) memset(x,y,sizeof(x))
using namespace std;
string s;
int main() {
cin>>s;
int n,fl=0;
n=s.size();
for(int i=0;i<n;i++) {
if (i+1<n && s[i+1]==s[i]) {
fl=1;
cout<<i+1<<' '<<i+2;
break;
}
if (i+2<n && s[i+2]==s[i]) {
fl=1;
cout<<i+1<<' '<<i+3;
break;
}
}
if (!fl) cout<<-1<<' '<<-1;
return 0;
}