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();
}
}