题解 | #最长无重复子数组#
最长无重复子数组
http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
class Solution {
public:
/**
*
* @param arr int整型vector the array
* @return int整型
*/
int maxLength(vector<int>& arr) {
// write code here
if(arr.size()==0)
{
return 0;
}
unordered_map<int, int>uMap;
int nMax=0;
int nIndex=0;
for(int i=0; i< arr.size();i++)
{
auto it=uMap.find(arr[i]);
if(it == uMap.end())
{
uMap[arr[i]]=i;
}
else
{
if(nMax < (i - nIndex))
{
nMax=i-nIndex;
}
i=it->second;
nIndex=it->second+1;
uMap.clear();
}
}
if(nMax == 0 )
{
nMax=arr.size();
}
return nMax;
}
};