首页 > 试题广场 >

交错01串

[编程题]交错01串
  • 热度指数:465 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。
小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。

输入描述:
输入包括字符串s,s的长度length(1 ≤ length ≤ 50),字符串中只包含'0'和'1'


输出描述:
输出一个整数,表示最长的满足要求的子串长度。
示例1

输入

111101111

输出

3
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.next();
        int[] arr = new int[s.length()];
        arr[0] = 1;
        int result = 1;
        for (int i = 1; i < s.length(); i++) {
            if (s.charAt(i) == s.charAt(i-1)) {
                arr[i] = 1;
            } else {
                arr[i] = arr[i-1] + 1;
            }
            result = Math.max(arr[i], result);
        }
        System.out.println(result);
        scanner.close();
    }
}

编辑于 2018-08-11 09:44:09 回复(0)
n=input()
m=len(n)
n=int(n)
p=[]
for i in range(m):
    p.append(n%10)
    n=n//10
p.reverse()
t=[]
flag=1
for j in range(m-1):
    if abs(p[j+1]-p[j])==1:
        flag=flag+1
        t.append(flag)
    else:
        flag=1
        t.append(flag)
t.append(flag)
print(max(t))
编辑于 2019-08-02 17:54:09 回复(0)
#coding=utf-8
while1:
    s=raw_input()
    res=[]
    count=0
    fori inrange(len(s)):
        ifi==0:
            tmp=s[i]
            pass
        elifs[i]!=tmp:
            count+=1
            tmp=s[i]
            pass
        elifs[i]==tmp:
            res.append(count)
            count=0
            tmp=s[i]
    ifcount==len(s)-1:
        print(count)+1
        break
    ifnotres:
        print(0)
        break
    printmax(res)+1
    break
使用TMP记录循环中上一次的值跟后一次进行比对 不一样就计数
发表于 2018-07-08 23:16:05 回复(0)
n=input()
x=[int(i) fori inn]
l=[]
a=1
fori inrange(len(x)-1):
    ifx[i]!=x[i+1]:
        a=a+1
        ifi==len(x)-2:
            l.append(a)
            a=1
    else:
        l.append(a)
        a=1
         
print(max(l))

发表于 2018-07-01 17:25:53 回复(0)