diff --git a/solution/3100-3199/3110.Score of a String/README.md b/solution/3100-3199/3110.Score of a String/README.md index ebb9d173910c2..2fbbb3b32e4e6 100644 --- a/solution/3100-3199/3110.Score of a String/README.md +++ b/solution/3100-3199/3110.Score of a String/README.md @@ -131,8 +131,13 @@ func abs(x int) int { ```ts function scoreOfString(s: string): number { let ans = 0; - for (let i = 1; i < s.length; ++i) { - ans += Math.abs(s.charCodeAt(i) - s.charCodeAt(i - 1)); + const n = s.length; + let prev = s.charCodeAt(0); + + for (let i = 1; i < n; ++i) { + const curr = s.charCodeAt(i); + ans += Math.abs(curr - prev); + prev = curr; } return ans; } diff --git a/solution/3100-3199/3110.Score of a String/README_EN.md b/solution/3100-3199/3110.Score of a String/README_EN.md index 8cf897eeecb94..0e38fa2071f6a 100644 --- a/solution/3100-3199/3110.Score of a String/README_EN.md +++ b/solution/3100-3199/3110.Score of a String/README_EN.md @@ -129,8 +129,13 @@ func abs(x int) int { ```ts function scoreOfString(s: string): number { let ans = 0; - for (let i = 1; i < s.length; ++i) { - ans += Math.abs(s.charCodeAt(i) - s.charCodeAt(i - 1)); + const n = s.length; + let prev = s.charCodeAt(0); + + for (let i = 1; i < n; ++i) { + const curr = s.charCodeAt(i); + ans += Math.abs(curr - prev); + prev = curr; } return ans; } diff --git a/solution/3100-3199/3110.Score of a String/Solution.ts b/solution/3100-3199/3110.Score of a String/Solution.ts index d82e8bc2f9ec6..78ce0f4864e00 100644 --- a/solution/3100-3199/3110.Score of a String/Solution.ts +++ b/solution/3100-3199/3110.Score of a String/Solution.ts @@ -1,7 +1,12 @@ function scoreOfString(s: string): number { let ans = 0; - for (let i = 1; i < s.length; ++i) { - ans += Math.abs(s.charCodeAt(i) - s.charCodeAt(i - 1)); + const n = s.length; + let prev = s.charCodeAt(0); + + for (let i = 1; i < n; ++i) { + const curr = s.charCodeAt(i); + ans += Math.abs(curr - prev); + prev = curr; } return ans; }