int maxLength(vector<int>& arr) {
    // write code here
    int i=0;
    int length = 0;
    unordered_set<int> sub_arr; //定义一个unordered_set集合来存储无重复的子数组
    for(int j=0; j<arr.size(); j++) {
        while(sub_arr.find(arr[j]) != sub_arr.end()) { //存在重复的元素
            sub_arr.erase(arr[i]);
            i++;
        }
        sub_arr.insert(arr[j]);
        length = max(length, (j-i+1)); // 比较arr[j]元素添加前后的长度变化

    }
    return length;
}