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