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

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

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;
    }
全部评论

相关推荐

09-30 15:27
已编辑
成都工业学院 企业文化
Morpheus_:候选人:还需要测验武力值?
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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