最长连续不重复子序列

it2025-05-23  9

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

运用双指针

#include<iostream> #include<iostream> #include<iostream> using namespace std; const int N=1e6+5; 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<<endl; return 0; }
最新回复(0)