B类-アンバランス / Unbalanced

B类-アンバランス / Unbalanced

题意:

给定一个序列,如果某个子序列中的有一个字母的数量大于子序列长度的一半则为平衡序列。

分析:

判断相邻两个字母是否一样或者间隔一个的字母是否相同

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
    string s;
    cin>>s;
    int l=s.length();
    for(int i=0;i<l-2;i++){
        if(s[i]==s[i+1]){
            cout<<i+1<<" "<<i+2;
            return 0;
        }
        else if(s[i]==s[i+2]){
            cout<<i+1<<" "<<i+3;
            return 0;
        }
    }
    if(s[l-2]==s[l-1]){
        cout<<l-1<<" "<<l;
        return 0; 
    }
    cout<<-1<<" "<<-1; 
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/zhyyyy/p/10035239.html