public static void main(String[] args) {
String s = "00101010101100001010010";
char[] chars = s.toCharArray();
int left = 0;
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '0') {
left = i;
break;
}
}
int right = left + 1;
int length = 0;
int rLeft = left;
int rRight = right;
while (right < chars.length) {
if (chars[right++] == '0') {
int l = judge(chars, left, right);
if (l == -1) {
left = right++ - 1;
continue;
}
if (l > length) {
length = l;
rLeft = left;
rRight = right;
}
}
}
System.out.println(rLeft + "|" + rRight);
}
public static int judge(char[] chars, int l, int r) {
if (r - l == 3) {
return 1;
}
for (int i = l + 1; i < r - 1; i++) {
System.out.print(chars[i]);
if (chars[i] == chars[i + 1]) {
System.out.println();
return -1;
}
}
System.out.println();
return r - l - 3;
}
[Java]滑动窗口
最新推荐文章于 2024-08-03 21:02:21 发布