t = int(input()) for _ in range(t): n = int(input()) s = input() if len(set(s)) == n:#手串中没有相同的宝石,无法破环,返回-1 print(-1) continue dic = dict() for i in range(n):#哈希表记录手环中每个宝石及其位置 dic[s[i]] = dic.setdefault(s[i], []) + [i] minl = n for v in dic.values():#寻找未知最近的两个相同宝石 if len(v) == 1: continue for i in range(len(v)): if i == 0:#注意环路 if n - v[-1] + v[0] < minl: minl = n - v[-1] + v[0] else: if v[i] - v[i - 1] < minl: minl = v[i] - v[i - 1] print(minl - 1)