• 魔法师

    力扣 LeetCode

    图片

    3498. 字符串的反转度 - 力扣(LeetCode)

    3498. 字符串的反转度 - 给你一个字符串 s,计算其 反转度。

    反转度的计算方法如下:

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

    返回 反转度。

     

    示例 1:

    输入: s = "abc"

    输出: 148

    解释:

    字母 反转字母表中的位置 字符串中的位置 乘积 'a' 26 1 26 'b' 25...

    思路

    在 反转 字母表中的位置,就是 26-(c-'a')='a'+26-c='{'-c。

    代码```
    class Solution {
    public int reverseDegree(String s) {
    int ans = 0;
    for (int i = 0; i < s.length(); i++) {
    ans += ('{' - s.charAt(i)) * (i + 1);
    }
    return ans;
    }
    }

    主楼
  • snow
    class Solution {
    public:
        int reverseDegree(string s) {
            int sum = 0;
            for (int i = 0; i < (int)s.size(); i++) {
                sum += ((26 - (s[i] - 'a')) * (i + 1));
            }
            return sum;
        }
    };
    #1
  • Lvvvv

    简单题。```
    class Solution {
    public:
    int reverseDegree(string s) {
    int res = 0;
    for(int i = 0; i < s.size(); i++) {
    res += (i + 1) * (26 - s[i] + 'a');
    }
    return res;
    }
    };

    #2
  • 编程牛马波比
    public class Solution {
        public int ReverseDegree(string s) {
            int sum = 0;
            int index = 1;
    
            foreach(char c in s){
                sum += (('z' - c + 1) * index);
                index++;
            }
    
            return sum;
        }
    }
    #3
  • SomeBottle

    总算有简单题了。```
    class Solution {
    public:
    int reverseDegree(string s) {
    int res=0;
    for(int i=0;i<s.size();i++){
    res+=(i+1)*('z'-s[i]+1);
    }
    return res;
    }
    };

    #4

发表回复

登录后回复