int fun(vector<int> arr)
{
map<int, int> is_key;
int len = 0;//最大长度
int tmp = 0;//当前长度
for(int i = 0; i < arr.size(); i++)
{
if(is_key.find(arr[i]) != is_key.end())
{
i = is_key[arr[i]] + 1; //获取重复元素在数组中下一个元素的索引,下一次从这个位置开始计算
len = max(len, tmp); //在重新计算前更新一下最大长度的值
is_key.clear(); //清空map
tmp = 0;
}
is_key[arr[i]] = i; //向map中插入元素
tmp++; //当前长度+1
}
return max(len, tmp);
}