0
点赞
收藏
分享

微信扫一扫

[Java]滑动窗口

ivy吖 2022-04-13 阅读 52
java
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;
    }
举报

相关推荐

0 条评论