题解 | #最长无重复子数组#

最长无重复子数组

https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4

import java.util.*;


public class Solution {
    /**
     *
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {
	  //创建队列
        Queue<Integer> queue=new ArrayDeque<>();
        int max=0;
	  //添加到队列
	  //如果队列有重复值,一直出列
        for(int i=0;i<arr.length;i++){
		  //如果队列有重复值,一直出列
            while(queue.contains(arr[i])){
                queue.poll();
            }
		  //没有重复值就入队
            queue.add(arr[i]);
		  //找到当前最大值
            if(queue.size()>max){
                max=queue.size();
            }
        }
        return max;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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