我正在尝试编写一个简单的python算法来解决这个问题。你能帮我弄清楚为什么我的代码不起作用:
问题:
Jakub 正在尝试一维键盘。它由单行键组成。任意两个相邻键之间的距离为 1。每个键包含一个不同的英文字母。Jakub 只用一根手指在键盘上打字。他想知道在输入给定单词时他必须移动手指的最小总距离是多少。
例如,如果键盘的唯一一行是“qwertyuiop”,而 Jakub 想要输入单词“potter”,他将不得不将手指从“p”移动到“o”(距离 1),从“o”移动到“ t'(距离 4),从 't' 到 't'(距离 0),从 't' 到 'e'(距离 2)和从 'e' 到 'r'(距离 1),总距离1 + 4 + 0 + 2 + 1 = 8。
给你一个字符串键盘和一个字符串单词,描述键盘和 Jakub 想要写的单词。返回他必须移动手指才能在键盘上键入单词的最小距离。
我的代码:
def typingDistance (keyboard, word):
a=keyboard.find(word[0][:1])
res=0
for i in word:
if keyboard.find(i) != a:
res+=abs(a-i)
a = keyboard.find(i)
return res