测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A13586. Good String

编程题 普及/提高-

题目描述

Let's call left cyclic shift of some string $t_1 t_2 t_3 \dots t_{n - 1} t_n$ as string $t_2 t_3 \dots t_{n - 1} t_n t_1$ .

Analogically, let's call right cyclic shift of string $t$ as string $t_n t_1 t_2 t_3 \dots t_{n - 1}$ .

Let's say string $t$ is good if its left cyclic shift is equal to its right cyclic shift.

You are given string $s$ which consists of digits 0–9.

What is the minimum number of characters you need to erase from $s$ to make it good?

输入格式

The first line contains single integer $t$ ( $1 \le t \le 1000$ ) — the number of test cases.

Next $t$ lines contains test cases — one per line. The first and only line of each test case contains string $s$ ( $2 \le |s| \le 2 \cdot 10^5$ ). Each character $s_i$ is digit 0–9.

It's guaranteed that the total length of strings doesn't exceed $2 \cdot 10^5$ .

输出格式

For each test case, print the minimum number of characters you need to erase from $s$ to make it good.

输入输出样例

输入 #1
3
95831
100120013
252525252525
输出 #1
3
5
0

说明/提示

In the first test case, you can erase any $3$ characters, for example, the $1$ -st, the $3$ -rd, and the $4$ -th. You'll get string 51 and it is good.

In the second test case, we can erase all characters except 0: the remaining string is 0000 and it's good.

In the third test case, the given string $s$ is already good.
上一题 去做题 下一题