【算法】799. 最长连续不重复子序列

题目

799. 最长连续不重复子序列

思路

用两个指针,i在j的右边,初始时i=j=0,然后移动i,每移动一次就让sa\[i]加上1,再判断是否有次数大于1,如果有就要移动j,并减少sa\[j]的次数。

代码

cpp 复制代码
#include<iostream>
using namespace std;
const int N=100010;
int n;
int a[N],s[N];
int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int res=0;
    for(int i=0,j=0;i<n;i++)
    {
        s[a[i]]++;
        while(s[a[i]]>1)
        {
            s[a[j]]--;
            j++;
        }
        res=max(res,i-j+1);
    }
    cout<<res;
    return 0;
}
相关推荐
To_OC13 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
2401_8414956414 小时前
【操作系统】进程同步与互斥实验报告
c++·算法·操作系统·进程·并发·同步·互斥
爱刷碗的苏泓舒18 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
烬羽20 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法
闪电悠米21 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
WL学习笔记21 小时前
堆(数据结构)
数据结构·
星空露珠21 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
QXWZ_IA1 天前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel1 天前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构