給定一個長度爲n的整數序列,請找出最長的不包含重複數字的連續區間,輸出它的長度。html
第一行包含整數n。ios
第二行包含n個整數(均在0~100000範圍內),表示整數序列。spa
共一行,包含一個整數,表示最長的不包含重複數字的連續子序列的長度。code
1≤n≤1000001≤n≤100000xml
5 1 2 2 3 5
3
#include<iostream> #include<algorithm> using namespace std; const int N = 1e5+ 10; int a[N],s[N]; int main(){ int n; 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++]] --;//減到s[a[i]] 小於一 } res = max(res,i - j + 1); } cout << res; }