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

最长无重复子数组

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;
    }
}

全部评论

相关推荐

Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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