2025年8月6日

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
29
30
31
32
33
number_to_letter = {chr(96 + i): i for i in range(1, 27)}
def fn(str1,str2,number_to_letter):
steps = []
length = len(str1)
for i in range(len(str2[:length])+1):

# print("---")
step = 0
# 第一个循环是取出所有子串
str2_ = str2[i:i+length]
if length > len(str2_):
break
print(str1,str2_)


for i in range(len(str1)):
# 第二个循环是计算每一个子串的距离

left = str1[i]
right = str2_[i]
diff = abs(number_to_letter[left] - number_to_letter[right])
if diff >= 13:
diff = 26-diff
step+=diff
# print("diff",diff)
steps.append(step)
# print("step",step)
return steps

str1 = "ddhnayalcs"
str2 = "tffivyioexdqifmeadcz"
steps = fn(str1,str2,number_to_letter)
min(steps)