下列代码求出一个二进制串中连续的1或连续的0出现的最大次数。
例如:s = “101100111100011”
则返回:4
又例如:s=”0111100000”
则返回:5
package com.bird.test;
import java.util.Scanner;
public class Count_0_1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.next();
int count0 = 0;
int count1 = 0;
int max = 0;
Character str[] = new Character[s.length()];
str[0] = s.charAt(0);
for(int i = 1; i < s.length(); i++) {
str[i] = s.charAt(i);
if(str[i] == str[i - 1]) {
if(str[i] == '1') {
count1++;
if(count1 > max)
max = count1;
}
count0++;
if(count0 > max)
max = count0;
}
else {
count0 = 0;
count1 = 0;
}
}
System.out.println(max + 1);
}
}
0111100000
5