求助,超时
查看原帖
求助,超时
363006
wangyibo201026楼主2021/12/5 21:13

RT,代码:

#include<bits/stdc++.h>

using namespace std;

int t, n, a[1000005];

unordered_map<int, bool> vis;

void Solve(){
  cin >> t;
  while(t--){
    cin >> n;
    for(int i = 1; i <= n; i++){
      cin >> a[i];
    }
    int l = 1, r = 1, maxi = -1e9;
    while(r <= n){
      maxi = max(maxi, r - l + 1);
      if(!vis[a[r + 1]]){
        vis[a[r + 1]] = true;
        r++;
      }
      if(r < n){
        vis[a[l]] = false;
        l++;
      }
    }
    cout << maxi << endl;
    vis.clear();
  }
}

int main(){
  Solve();
  return 0;
}
2021/12/5 21:13
加载中...