Loading...

小红的字符串修改

在这里插入图片描述

求解代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

        StringTokenizer in = new StringTokenizer(br.readLine());
        String s= in.nextToken();
        
        in = new StringTokenizer(br.readLine());
        String t= in.nextToken();

        int min = Integer.MAX_VALUE;

        for(int i=0;i<=t.length()-s.length();i++){
            int count = 0;
            //截取t中从i开始、长度为s的连续子串x
            String x = t.substring(i,i+s.length());

            for(int j=0;j<s.length();j++){
                //26-差值:计算环形绕行的差值(26 个小写字母首尾相连)
                count+=Math.min(Math.abs(x.charAt(j)-s.charAt(j)), 26-Math.abs(x.charAt(j)-s.charAt(j)));
            }
            min=Math.min(min,count);
        }
        out.println(min);
        out.flush();
        out.close();
        br.close();
   }
最后更新于 2026-04-05 17:35:33
Code Road Record