1. 首页
  2. 软件开发
  3. day-56 最长的字母序连续子字符串的长度

day-56 最长的字母序连续子字符串的长度

  • 发布于 2024-09-26
  • 1 次阅读


思路
双指针,用left和right表示以right为右边界的连续子字符串,left表示其左边界

解题过程
right从0到s.length()-1遍历:1.如果当前字符减去前一个字符的值为1,则当前字符与前面的字符是连续的,此时left不变,right++;2.如果当前字符减去前一个字符的值为1,则当前字符与前面的字符是不连续的,此时left=right,right++。在遍历过程中维持一个ans变量表示最大长度,遍历结束后最后返回ans即可

Code

class Solution {

    public int longestContinuousSubstring(String s) {

        int ans=1;
        for(int i=0,j=1;j<s.length();j++){

           if(s.charAt(j)-s.charAt(j-1)==1) {

               ans=Math.max(ans,j-i+1);
           }else{

               i=j;
           }
        }
        return ans;
    }
}

作者:菜卷
链接:https://leetcode.cn/problems/length-of-the-longest-alphabetical-continuous-substring/solutions/2923370/zui-chang-de-zi-mu-xu-lian-xu-zi-zi-fu-c-ymuq/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文链接: https://blog.csdn.net/qq_53568730/article/details/142376020