双端队列求最长不重复子串的长度

找到字符串的最长无重复字符子串

http://www.nowcoder.com/questionTerminal/b56799ebfd684fb394bd315e89324fb4

public int maxLength (int[] arr) {
        Deque<Integer> deque = new ArrayDeque<>();
        int left = 0;
        int right = 0;
        int len = arr.length;
        int max = 0;
        while(right < len) {
            if(deque.contains(arr[right])) {
                // 包含则循环拿出前面的元素
                while(deque.pollFirst()!=arr[right]){}
            }
            deque.offerLast(arr[right]);    //添加元素
            max = Math.max(max, deque.size());
            right ++;
        }
        return max;
    }
全部评论

相关推荐

高通滤波器v:我最近投的几个,都是要不已读不回,要不不回,还有直接拒绝的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务