题目描述
给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。
import java.util.*;
public class Solution {
/**
*
* @param arr int整型一维数组 the array
* @return int整型
*/
public int maxLength (int[] arr) {
// write code here
if(arr==null||arr.length==0)return 0;
Set<Integer>set=new HashSet<>();
int res=0,i=0,j=0;
while(i<arr.length){
if(!set.contains(arr[i])){
set.add(arr[i++]);
}else{
set.remove(arr[j++]);
}
res=Math.max(res,set.size());
}
return res;
}
}