题解 | #最长无重复子数组#

最长无重复子数组

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;
    }
};
全部评论

相关推荐

05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务