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

最长无重复子数组

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

//双指针法+hash
//首先判断arr
//其次right指针右移,且值一直进入mp
//如果某一个mp(右指针的值)的值>1,则left左移,mp(left)--
#include <algorithm>
#include <unordered_map>
#include <vector>
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;
        }
        int res=0;
        unordered_map<int, int> mp;
        int left=0,right=0;
        for (; right<arr.size(); right++) {
            mp[arr[right]]++;
            while (mp[arr[right]]>1) {
                mp[arr[left++]]--;
            }
            res=max(res, right-left+1);
        }
        return res;
    }
};

全部评论

相关推荐

珩珺:那些经历都太大太空了,实习的情况不了解,大创项目连名字、背景、目的及意义都没体现出来;地摊经济更是看完连卖的什么产品都不知道,项目成果直接写营收多少都更直观真实一点;后面那个校文体部的更是工作内容是组织活动整理流程,成果变成了当志愿者,而且你们学校本科学生会大一入学就直接当部长吗,志愿里面还提到了疫情防控,全面解封是22年12月的事情,可能时间上也有冲突。可能你花了钱人家就用AI给你随便写了点内容改了一下,没什么体现个性化的点
点赞 评论 收藏
分享
牛客21331815...:像我一投就pass,根本不用焦虑泡池子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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