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

最长无重复子数组

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

pl指针指向找到相同的字母的下一位
例如:abcba
pl:1 5

import java.util.*;


public class Solution {
    /**
     * 
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {
        // write code here
        HashSet set = new HashSet<Integer>();
        int pl = 0;                       
        int re = 0;                       
        for(int i = 0;i<arr.length;i++) {
            if (!set.contains(arr[i]))set.add(arr[i]);
            else {
                re = re>set.size()?re:set.size();
                for(;pl<i;pl++)
                {
                    set.remove(arr[pl]);
                    if (arr[pl] == arr[i])break;
                }
                set.add(arr[i]);
                pl++;
            }
        }
        return re>set.size()?re:set.size();
    }
}
全部评论

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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