最长的字母序连续子字符串的长度
字母序连续字符串 是由字母表中连续字母组成的字符串。换句话说,字符串 “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 由小写英文字母组成
题解一
注意别忘了 s.length() == 1 的情况
public static int longestContinuousSubstring(String s) {
if(s.length() == 1){
return 1;
}
char[] chars = s.toCharArray();
int temp = 0;
int max = 1;
for (int i = 1; i< chars.length; i++) {
if(Integer.valueOf(chars[i]) == Integer.valueOf(chars[i-1]) + 1){
temp = temp == 0 ? 2 : temp + 1;
if(temp > max){
max = temp;
}
}else{
temp = 0;
}
}
return max;
}
<扫码关注有惊喜>扫码关注有惊喜>
(转载本站文章请注明作者和出处 枕风宿雪-couldme)
Show Disqus Comments