首页 >Java >java教程 >Leetcode——字符串的分数

Leetcode——字符串的分数

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-02 13:56:02899浏览

Leetcode — Score of a String

这是 leet 代码中的一个简单问题,描述如下:

给你一个字符串 s。字符串的分数定义为相邻字符的 ASCII 值之间的绝对差之和。
返回 s 的分数。

示例1:
输入:s =“你好”
输出:13

说明:
s 中字符的 ASCII 值为:'h' = 104、'e' = 101、'l' = 108、'o' = 111。因此,s 的分数将为 |104 - 101| |101 - 108| |108 - 108| |108 - 111| = 3 7 0 3 = 13.

示例2:
输入:s =“zaz”
输出:50

说明:
s 中字符的 ASCII 值为:'z' = 122,'a' = 97。因此,s 的分数将为 |122 - 97| |97 - 122| = 25 25 = 50.
限制:

2 s 仅由小写英文字母组成。

对此没有太多要做的,您基本上需要迭代并抓取字符串的两个字符,然后将第一个字符减去第二个字符,并获取它的绝对值并添加到 sum 变量中。

从第二个索引开始很重要,以避免越界异常。

要将 char 转换为 ascii,您基本上可以将其转换为整数,这样就可以了。

class Solution {
    public int scoreOfString(String s) {
        int sum = 0;
        for(int i=1;i<s.length();i++){
            final int first  = (int) s.charAt(i - 1);
            final int second = (int) s.charAt(i);
            sum += Math.abs(first - second);
        }
        return sum;
    }
}

运行时间:1 毫秒,比 99.37% 的 Java 在线提交的 Score of a String 快。
内存使用:42 MB,低于 Java 在线提交的 Score of a String 的 30.18%。

就是这样!如果还有什么要讨论的,请随时发表评论,如果我错过了任何内容,请告诉我,以便我进行相应更新。

直到下一篇文章! :)

以上是Leetcode——字符串的分数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn