Skip to content

2414. Length of the Longest Alphabetical Continuous Substring

Difficulty Topics

Description

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".

  • For example, "abc" is an alphabetical continuous string, while "acb" and "za" are not.

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:

  • 1 <= s.length <= 105
  • s consists of only English lowercase letters.

Solution

length-of-the-longest-alphabetical-continuous-substring.py
class Solution:
    def longestContinuousSubstring(self, s: str) -> int:
        N = len(s)
        res = length = 1

        def f(x):
            return ord(x) - ord("a")

        prev = f(s[0])

        for i in range(1, N):
            curr = f(s[i])

            if prev + 1 == curr:
                length += 1
                res = max(res, length)
            else:
                length = 1

            prev = curr

        return res