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

最长无重复子数组

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

哈希表+滑动窗口,用哈希表保存不重复的元素,滑动窗口在遍历的时候,如果哈希表中存在重复元素,则分别调整哈希表和滑动窗口。

class Solution {
public:
    /**
     * 
     * @param arr int整型vector the array
     * @return int整型
     */
    int maxLength(vector<int>& arr) {
        int result=0;
        unordered_set<int> hash_set{};
        int left=0;
        for(int right=0;right<arr.size();right++){
            while(hash_set.find(arr[right])!=hash_set.end() && left<right){
                hash_set.erase(hash_set.find(arr[left]));
                left++;
            }
            hash_set.insert(arr[right]);
            result=max(result,right-left+1);
        }
        return result;
    }
};
全部评论

相关推荐

今天投了小鹏,收到了AI面,大概会问哪些啊?
期末一定及格:总共4个部分,心理测评、行测、然后就是问岗位、对岗位的理解、过往遇到了哪些难点怎么解决,很简单,没有什么特别专业的问题,都是一些综合素质相关的
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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