双指针—最长连续不重复子序列

Posted 每天告诉自己要努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双指针—最长连续不重复子序列相关的知识,希望对你有一定的参考价值。

经典题,用数组处理重复
在这里插入图片描述

#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 j = 0,res = 0;
    for(int i = 0 ; i < n ; i ++ ){
        s[a[i]]++;
        while(s[a[i]]>1){
            s[a[j]]--;
            j++;
        }

        res = max(res,i-j+1);
    }
    cout<<res<<endl;
    return 0;
}

以上是关于双指针—最长连续不重复子序列的主要内容,如果未能解决你的问题,请参考以下文章

算法学习——双指针算法(最长连续不重复子序列)

最长连续不重复子序列(双指针算法)

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

最长连续不重复子序列

最长连续不重复子序列

AC Saber双指针