2414. Length of the Longest Alphabetical Continuous Substring
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