2414.最长的字母序连续字符串的长度

字母序连续字符串 是由字母表中连续字母组成的字符串。换句话说,字符串 "abcdefghijklmnopqrstuvwxyz" 的任意子字符串都是 字母序连续字符串 。

例如,"abc" 是一个字母序连续字符串,而 "acb" 和 "za" 不是。
给你一个仅由小写英文字母组成的字符串 s ,返回其 最长 的 字母序连续子字符串 的长度。

示例 1:

输入:s = "abacaba"
输出:2
解释:共有 4 个不同的字母序连续子字符串 "a"、"b"、"c" 和 "ab" 。
"ab" 是最长的字母序连续子字符串。
示例 2:

输入:s = "abcde"
输出:5
解释:"abcde" 是最长的字母序连续子字符串。
提示:

1 <= s.length <= 105
s 由小写英文字母组成
Related Topics
字符串

解题思路:
1.计算字符串s中连续字符的最大长度。
2.遍历字符串,若当前字符与前一个字符相差1,则当前连续长度curLen加1。
3.否则,更新最大连续长度maxLen,并重置curLen为1。
4.返回最终的最大连续长度。

public int longestContinuousSubstring(String s) {
    int maxLen = 1;
    int curLen = 1;
    for (int i = 1; i < s.length(); i++) {
        if (s.charAt(i) == s.charAt(i - 1) + 1) {
            curLen++;
        } else {
            maxLen = Math.max(maxLen, curLen);
            curLen = 1;
        }
    }
    return Math.max(maxLen, curLen);
}
posted @ 2024-09-19 10:41  JAVA-CHENG  阅读(21)  评论(0编辑  收藏  举报