问题1220--最短平衡子串

1220: 最短平衡子串

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

miaoyao已经学习算法到了很深的境界,可惜的是,凉心出题人Z认为这里有道题,miaoyao也逃不过Z的五指山。聪明的你能否帮忙解决这个问题。
定义一个字符串为平衡字符串,当且仅当其中的每一个字母都出现了它的大写和小写形式至少各一次
对于一个长度为n的字符串,该字符串仅可能包含前10个大写字母与小写字母(即A-J, a-j),输出它的最短子串的长度,满足该子串为平衡字符串

输入

第一行为一个整数T,表示数据组数
每组数据的输入分为两行,第一行为一个整数n,代表字符串的长度
第二行为给定的字符串,保证其中只包含前10个大写字母与小写字母

保证所有测试数据中\(n\)的总和不超过100000

输出

T行,每行为给定字符串的最短平衡子串的长度,如果不存在平衡子串,输出-1

样例输入 Copy

3
4
AbaB
4
ABba
4
ABaC

样例输出 Copy

4
2
-1

提示

\(1\le \sum{n}\le100000\)
输入的字符串中只包含A-J与a-j这二十种可能的字符