思路:
统计下各字符有多少,算下到a-z的花费,取最小花费,暴力解法。
解答:
package bupt;
import java.util.Arrays;
import java.util.Scanner;
/*
*@author:Totoro
*@createDate:2020年3月16日下午12:10:18
*/
public class 字符串转换
{
public static void main(String[] args)
{
Scanner cin=new Scanner(System.in);
String s;
int[] num=new int[26];
int t=cin.nextInt();
cin.nextLine();
while(t--!=0)
{
s=cin.nextLine();
Arrays.fill(num,0);
for(int i=0;i<s.length();++i)
++num[s.charAt(i)-'a'];
int min_s=999999999;
for(int i=0;i<26;++i)
{
int now_s=0;
for(int j=0;j<26;++j)
now_s=now_s+go(j,i)*num[j];
min_s=Math.min(min_s,now_s);
}
System.out.println(min_s);
}
}
public static int go(int a,int b)
{
if(a>b)
return Math.min(a-b,26-a+b);
else
return Math.min(b-a,26-b+a);
}
}