首页 > 其他分享 >最长连续不重复子序列

最长连续不重复子序列

时间:2022-11-30 21:25:15浏览次数:41  
标签:int 重复子 ans 序列 include 最长

给定一个长度为n 的整数序列,请找出最长的不包含重复的数的连续区间长度。

#include <iostream>
#include <unordered_map>
using namespace std;
const int N = 100010;
int a[N];
unordered_map<int, int> mp;

int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> a[i];
    
    int ans = 0;
    for (int i = 1, j = 1; j <= n; j++) {
        mp[a[j]]++;
        while (mp[a[j]] > 1) mp[a[i++]]--;
        ans = max (ans, j - i + 1);
    }
    
    cout << ans << endl;    
    return 0;
}

  

<span id="MathJax-Span-2" class="mrow"><span id="MathJax-Span-3" class="mi">n 的整数序列,请找出最长的不包含重复的数的连续区间长度。

 

标签:int,重复子,ans,序列,include,最长
From: https://www.cnblogs.com/leetothemoon/p/16939778.html

相关文章