1. 程式人生 > >uva 11572 Unique Snowflakes (唯一的雪花)

uva 11572 Unique Snowflakes (唯一的雪花)

題目連結

題意輸入一個長度為n 的序列,找到一個儘量長的連續子序列Al~Ar,使得該序列中沒有相同元素。
分析 用左右端點去遍歷 然後用set查重。

#include<bits/stdc++.h>
using namespace std;
int a[1000005],len,l,r,t,n;
int main (void){
    ios::sync_with_stdio(false);
    cin>>t;
    while(t--){
        cin>>n;
        for(int i=0;i<n;i++) cin>>a[i];
        set
<int>
s; l=0;r=0;len=0; while(r<n){ while( r<n && !s.count(a[r])) s.insert(a[r++]); len=max(len,r-l); s.erase(a[l++]); } cout<<len<<endl; } return 0; }