import java.util.Scanner;
import java.util.Stack;
public class Exam03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
Stack<Character> stack = new Stack<>();
char[] chars = str.toCharArray();
int endIndex = -1;
int maxLength = 2; // 不预设为0,防止统计长度为1的电波
boolean valid = true;
for (int i = 0; i < chars.length; i++) {
char current = chars[i];
if (stack.isEmpty()) {
stack.add(current);
continue;
}
if (stack.peek() == '0') {
if (current == '0') {
if (valid && stack.size() > maxLength) {
maxLength = stack.size();
endIndex = i;
}
valid = true;
stack.clear();
}
stack.add(current);
continue;
}
if (stack.peek() == '1') {
if (current == '1') {
valid = false;
}
stack.add(current);
}
}
if (!stack.isEmpty()){
if (valid && stack.size() > maxLength) {
maxLength = stack.size();
endIndex = chars.length;
}
}
if (endIndex == -1){
System.out.println(-1);
}else {
System.out.println(str.substring(endIndex - maxLength,endIndex));
}
}
}
20220531 华为od机试 最长交替电波
最新推荐文章于 2024-07-20 23:59:39 发布