LeetCode in Kotlin

2414. Length of the Longest Alphabetical Continuous Substring

Medium

An alphabetical continuous string is a string consisting of consecutive letters in the alphabet. In other words, it is any substring of the string "abcdefghijklmnopqrstuvwxyz".

Given a string s consisting of lowercase letters only, return the length of the longest alphabetical continuous substring.

Example 1:

Input: s = “abacaba”

Output: 2

Explanation: There are 4 distinct continuous substrings: “a”, “b”, “c” and “ab”.

“ab” is the longest continuous substring.

Example 2:

Input: s = “abcde”

Output: 5

Explanation: “abcde” is the longest continuous substring.

Constraints:

Solution

class Solution {
    fun longestContinuousSubstring(s: String): Int {
        var ans = 0
        var cnt = 1
        var j = 1
        while (j < s.length) {
            if (s[j].code == s[j - 1].code + 1) {
                cnt++
            } else {
                ans = ans.coerceAtLeast(cnt)
                cnt = 1
            }
            j++
        }
        return ans.coerceAtLeast(cnt)
    }
}