关键点:
- 无论数组的开头第一位是什么,总是从a开始的,
- 从第一个字母向后走的时候有顺时针和逆时针,取最小值
- 当从第一个字母开始走的时候,用当前位置替换a的作用
class Solution:def minTimeToType(self, word: str) -> int:position = 'a'time = 0for char in word:diff = abs(ord(char) - ord(position))step = min(diff, 26-diff)position = chartime += stepreturn (time + len(word))
函数分析:
-
ord()函数:主要功能是将单个字符转换为其对应的Unicode码点。Unicode是一种字符编码标准,它允许使用相同的代码点来表示全球范围内的字符。
-
abs()函数:求绝对值
-
a = ord('a') print(a) # 97 b = ord('b') y = ord('y') print(y) # 121print(a - y) # -24 print(abs(a - y)) # 24 print(abs(a - b)) # 1
ascII码,英文字母的差值都是1,Ascii完整码表(256个)_ascii码表-CSDN博客