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

最长无重复子数组

http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4

//滑动窗口,用哈希表记录当前窗口出现的字符,有重复字符出现时,缩小窗口(即增大窗口左边界),直至无重复

class Solution {
public:
    int maxLength(vector<int>& arr) {
        int n=arr.size();
        unordered_set<int> mark;
        int ans=0;
        int left=0;
        int right=0;
        for(;right<n;++right)
        {
            if(mark.count(arr[right]))
            {
                ans=max(ans,right-left);
                while(left<right&&mark.count(arr[right]))
                {
                    mark.erase(arr[left]);
                    ++left;
                }
            }
            mark.insert(arr[right]);
        }
        return ans=max(ans,right-left);
    }
};
全部评论

相关推荐

昨天 10:17
仰恩大学 营销
bg双非,被挂了
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-24 13:32
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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