0
点赞
收藏
分享

微信扫一扫

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

笑望叔叔 2022-03-11 阅读 91

 原题连接:https://www.acwing.com/problem/content/801/

#include<iostream>

using namespace std;

const int N = 1e5 + 10;
int a[N], s[N];
int n = 0,r = 0;

int main()
{
    cin >> n;
    
    for(int i = 0, j = 0; i < n; i ++ )
    {
        cin >> a[i];
        
        s[a[i]] ++;
        
        while( s[a[i]] != 1 && j <= i)    -- s[a[j ++]];
        
        r = max(r, i - j + 1);
    }
    cout << r;
    
    return 0;
}

 

举报

相关推荐

0 条评论