Java解决字符串的分数

Java解决字符串的分数

01 题目

  • 给你一个字符串 s 。一个字符串的 分数 定义为相邻字符 ASCII 码差值绝对值的和。

    请你返回 s分数

    示例 1:

    **输入:**s = “hello”

    **输出:**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.length <= 100
    • s 只包含小写英文字母。

02 知识点

  • 循环
  • 字符串
  • 数组

03 我的题解思路

import java.util.ArrayList;
import java.util.HashSet;

public class scoreOfString {
	public static void main(String[] args) {
		String s = "hello";
		scoreOfString(s);
	}
	public static int scoreOfString(String s) {
		int rs=0;//返回值
		char[] cs=s.toCharArray();//转数组
		for (int i = 0; i < cs.length-1; i++) {
			rs+=Math.abs(cs[i]-cs[i+1]);//加绝对值
		}		
		return rs;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宣布无人罪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值