/**
 * 
 * @param arr int整型一维数组 the array
 * @return int整型
 */
function maxLength( arr ) {
  let idx = 0;
  let max = 1;
  let map = new Map();
  while (idx < arr.length) {
    // 有重复了
    if (map.has(arr[idx])) {
      max = Math.max(max, map.size);
      // 重新定位 idx 为重复字符的后一位
      idx = map.get(arr[idx]) + 1;
      // 清空记录表
      map.clear();
    } else {
      map.set(arr[idx], idx);
      idx++;
    }
  }
  max = Math.max(max, map.size);
  return max;
}
module.exports = {
    maxLength : maxLength
};