题解:AT_abc395_c [ABC395C] Shortest Duplicate Subarray
liborui0000 · · 题解
题目大意:
有
方法:
用
AC code:
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n;
vector<int> g[1000010];
int main(){
cin >> n;
for (int i = 1; i <= n; ++i){
int a;
cin >> a;
g[a].push_back(i);
}
int minn = 0x3f3f3f3f;
for (int i = 1; i <= 1e6; ++i){
if (g[i].size() < 2) continue;
for (int j = 1; j < g[i].size(); ++j)
minn = min(g[i][j] - g[i][j - 1] + 1, minn);
}
if(minn == 0x3f3f3f3f) cout << -1;
else cout << minn;
return 0;
}