Leetcode3110:字符串的分数

题目描述:

给你一个字符串 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))
相关推荐
fengfuyao98513 小时前
竞争性自适应重加权算法(CARS)的MATLAB实现
算法
散峰而望13 小时前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
leoufung13 小时前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表
wyhwust13 小时前
交换排序法&冒泡排序法& 选择排序法&插入排序的算法步骤
数据结构·算法·排序算法
利刃大大13 小时前
【动态规划:背包问题】完全平方数
c++·算法·动态规划·背包问题·完全背包
wyhwust14 小时前
数组----插入一个数到有序数列中
java·数据结构·算法
im_AMBER14 小时前
Leetcode 59 二分搜索
数据结构·笔记·学习·算法·leetcode
gihigo199814 小时前
基于MATLAB的IEEE 14节点系统牛顿-拉夫逊潮流算法实现
开发语言·算法·matlab
leoufung14 小时前
LeetCode 61. 旋转链表(Rotate List)题解与思路详解
leetcode·链表·list
甄心爱学习15 小时前
数据挖掘-聚类方法
人工智能·算法·机器学习