交错01串

来源:互联网 发布:马云开创淘宝 编辑:程序博客网 时间:2024/05/21 10:32

牛客网链接
如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: “1”,”10101”,”0101010”都是交错01串。
小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。

  • 这个没有啥的,就是根据输入,遍历,查找最长的交错串就好,比较容易,也没啥坑。
#include<iostream>#include<string>using namespace std;int main(){    string s;    cin>>s;    int num = s.size();    int max = 1 , total = 1;    for(int i = 1;i < num ; i++){        if((s[i]-'0')^(s[i-1]-'0')){            total++;        }else{            max = total>max ? total : max;            total = 1;        }    }    max = total>max ? total : max;    cout<<max;    return 0;}
原创粉丝点击