Approach 1: Imperative

class Solution:
    def scoreOfString(self, s: str) -> int:
        total = 0
        for i in range(1, len(s)):
            total += abs(ord(s[i]) - ord(s[i - 1]))
        return total

Complexity

Time:
Space:

Approach 2: Functional

class Solution:
    def scoreOfString(self, s: str) -> int:
        return reduce(
            lambda acc, i: acc + abs(ord(s[i]) - ord(s[i - 1])),
            range(1, len(s)),
            0
        )

Complexity

Time:
Space:

Other Languages

Swift

class Solution {
    func scoreOfString(_ s: String) -> Int {
        let chars = Array(s.unicodeScalars)
        var total = 0
        for i in 1..<chars.count {
            let a = Int(chars[i].value)
            let b = Int(chars[i - 1].value)
            total += abs(a - b)
        }
        return total
    }
}