笔试训练48天:最长无重复子数组

NC41 最长无重复子数组中等 通过率:29.72% 时间限制:1秒 空间限制:256M

知识点数组双指针哈希

https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4?tpId=196&tqId=37149&ru=/exam/oj

描述

给定一个长度为n的数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。

子数组是连续的,比如1,3,5,7,9的子数组有1,33,5,7等等,但是1,3,7不是子数组

数据范围:0≤arr.length≤1050≤arr.length≤105,0<arri≤1050<arri≤105

示例1

输入:2,3,4,5

返回值:4

说明:2,3,4,5是最长子数组

示例2

输入:2,2,3,4,3

返回值:3

说明:2,3,4是最长子数组

示例3

输入:9

返回值:1

示例4

输入:1,2,3,1,2,3,2,2

返回值:3

说明:最长子数组为1,2,3

示例5

输入:2,2,3,4,8,99,3

返回值:5

说明:最长子数组为2,3,4,8,99

思路:最长无重复:哈希表

cpp 复制代码
#include <algorithm>
class Solution {
int hash[100010]={0};
public:
    int maxLength(vector<int>& arr)
    {
        int left=0,right=0,n=arr.size();
        int ret=0;
        while(right<n)
        {
            hash[arr[right]]++;
            while (hash[arr[right]]>1) {
                hash[arr[left]]--;
                left++;
            }
            ret=max(ret,right-left+1);
            right++;
        }
        return ret;
    }
};
相关推荐
绿算技术5 分钟前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构
想吃火锅10051 小时前
【leetcode】1.两数之和js版
javascript·算法·leetcode
net3m332 小时前
一阶软件低通滤波器算法
人工智能·算法
水木流年追梦2 小时前
大模型入门-大模型优化方法12-YaRN 长文本外推技术
人工智能·分布式·算法·正则表达式·prompt
J-Tony113 小时前
【JVM】三色标记法
java·jvm·算法
wengad3 小时前
机器学习实践理论基础|算法、模型和数据集
人工智能·算法·机器学习
梦梦代码精4 小时前
为什么这个开源的AI平台会火?有点东西。。。
人工智能·算法·机器学习·docker·开源
随意起个昵称4 小时前
线性dp-综合刷题1(Not Alone)
算法·动态规划
Lyyaoo.5 小时前
【数据结构】HashMap底层存储+扩容机制+线程安全【待更新】
数据结构·安全·哈希算法