题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
两个字母之间的距离定义为它们在字母表中位置的距离。例如 A 和 C 的距离为 2,L 和 Q 的距离为 5。
对于一个字符串,我们称字符串中两两字符之间的距离之和为字符串的内部距离。
例如:ZOO 的内部距离为 22,其中 Z 和 O 的距离为 11。
请问,LANQIAO 的内部距离是多少?
运行限制
最大运行时间:1s
最大运行内存: 128M
解题思路
思路一:直接使用excel计算两两字母之间的距离,并求和
思路二:使用数字对excel进行填充,找到各个字母代表的数字,使用循环方式进行计算
思路三:直接使用python的ord()将字母转化为数字的形式进行计算
以下是三种不同思路的python实现:
#思路一
#print(2*(8+11+13+14+16)+3+5+6+8+2+3+5+1+3+2)
#思路二
# l=[1,9,12,14,15,1,17]
# num=len(l)
# he=0
# for i in range(num):
# for j in range(i+1,num):
# he+=abs(l[j]-l[i])
# print(he)
#思路三
he=0
s='LANQIAO'
for i in s:
for j in s:
he+=abs(ord(j)-ord(i))
print(int(he/2))