Skip to content

3498.字符串的反转度

implementation, https://leetcode.cn/problems/reverse-degree-of-a-string/

给你一个字符串 s,计算其 反转度

反转度的计算方法如下:

  1. 对于每个字符,将其在 反转 字母表中的位置('a' = 26, 'b' = 25, ..., 'z' = 1)与其在字符串中的位置(下标从1 开始)相乘。
  2. 将这些乘积加起来,得到字符串中所有字符的和。

返回 反转度

示例 1:

输入: s = "abc"

输出: 148

解释:

字母反转字母表中的位置字符串中的位置乘积
'a'26126
'b'25250
'c'24372

反转度是 26 + 50 + 72 = 148

示例 2:

输入: s = "zaza"

输出: 160

解释:

字母反转字母表中的位置字符串中的位置乘积
'z'111
'a'26252
'z'133
'a'264104

反转度是 1 + 52 + 3 + 104 = 160

提示:

  • 1 <= s.length <= 1000
  • s 仅包含小写字母。
python
class Solution:
    def reverseDegree(self, s: str) -> int:
        n = len(s)
        total_v = 0
        for i in range(1, n+1):
            total_v += (26 - ord(s[i-1]) + ord('a')) * i

        return total_v

if __name__ == "__main__":
    sol = Solution()
    print(sol.reverseDegree("abc"))
    print(sol.reverseDegree("zaza"))