0
点赞
收藏
分享

微信扫一扫

每日一题 leetcode 467. 环绕字符串中唯一的子字符串 java

young_d807 2022-05-25 阅读 119
java
class Solution {
    public int findSubstringInWraproundString(String p) {
        int[] dp=new int[26];
        int k=0;//目前连续递增的字串长度
        for(int i=0;i<p.length();i++){
            if(i>0&&((p.charAt(i)-p.charAt(i-1)+26)%26==1)){//跟前一个字符相邻:字符之差为1或25
                k++;
            }
            else{
                k=1;//跟前一个字符不连续。破坏了连续条件,k设为1
            }
            dp[p.charAt(i)-'a']=Math.max(dp[p.charAt(i)-'a'],k);
        }
        return Arrays.stream(dp).sum();
    }
}
举报

相关推荐

0 条评论