题目描述:
给你一个字符串 s
。一个字符串的 分数 定义为相邻字符 ASCII 码差值绝对值的和。
请你返回 s
的 分数 。
代码思路:
遍历字符串:代码通过 for i in range(len(s) - 1) 遍历字符串 s 中的每一个字符,直到倒数第二个字符(因为要计算相邻字符的差值)。
计算相邻字符的 ASCII 值之差:对于每一对相邻字符 s[i] 和 s[i + 1],代码计算它们的 ASCII 值之差,即 ord(s[i]) - ord(s[i + 1])。
取绝对值:为了确保差值是正数,代码使用 abs() 函数取绝对值。
累加所有差值:通过 sum() 函数将所有相邻字符的 ASCII 值之差的绝对值累加起来,得到最终的分数。
返回结果:最终返回计算得到的分数。
代码实现:
class Solution:
def scoreOfString(self, s: str) -> int:
return sum(abs(ord(s[i]) - ord(s[i + 1])) for i in range(len(s) - 1))