class Solution {
public int longestContinuousSubstring(String s) {
int count=0;
for(int i=0;i<s.length();i++){
char ch = s.charAt(i);
int castascii = (int) ch;
int alpha=97;
if(castascii==alpha){
count++;
}
alpha++;
}
return count;
}
}
示例1:
输入:s=";abacaba"//只有小写
输出:2
说明:有4个不同的连续子串:;a"b"c";以及";ab";。"ab";是最长的连续子字符串。
示例2:
输入:s=";abcde"//只有小写
输出:5
说明:";abcde";是最长的连续子字符串。
我的代码只打印1为什么?
我用ASCII值来解决任何人能帮我吗?
您的代码实际上是在计算字母"a"在字符串中出现的频率。
class Solution {
public int longestContinuousSubstring(String s) {
int count=0;
for(int i=0;i<s.length();i++){ // for each character in string
char ch = s.charAt(i);
int castascii = (int) ch;
int alpha=97; // you always set alpha to be 'a'
if(castascii==alpha){ // checks if current char is an 'a'
count++; // effectively counting 'a's here
}
alpha++; // this is redundant, u reset it in next iteration
}
return count;
}
}