public class LongRepeat {
public static void main(String[] args) {
int[] array = {1,3,5,2,4,5,9};
System.out.println(getLength(array));
}
public static int getLength(int[] array) {
if (array == null) {
return 0;
}
int len = array.length;
if (len < 2) {
return len;
}
int max = 0;
Map<Integer, Integer> map = new HashMap<>();
for (int i=0,start=0;i<len;i++) {
if (map.containsKey(array[i])) {
start = Math.max(map.get(array[i])+1, start);
}
max = Math.max(i-start+1, max);
map.put(array[i], i);
}
return max;
}
}