#include <iostream> #include <unordered_map> #include <algorithm> #include <vector> using namespace std; int main() { int a; cin >> a; while (a--) { string str; int num; unordered_map<char, vector<int>> record; cin >> num; cin >> str; if (num == 2) { cout << -1 << endl; } else { int res = num; for (int i = 0; i < num; i++) { if (record.count(str[i])) { // cout << record[str[i]].back() << " " <<record[str[i]].front() <<endl; res = min({res, i - record[str[i]].back() - 1, num - 1 - i + record[str[i]].front()}); } if (record[str[i]].size() == 2) { record[str[i]][1] = i; } else { record[str[i]].push_back(i); } } if (res == num) { cout << -1 << endl; } else { cout << res << endl; } } } } // 64 位输出请用 printf("%lld")