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;
}
}
Example 1:
Input: s = "abacaba" // Only lower case
Output: 2
Explanation: There are 4 distinct continuous substrings: "a", "b", "c" and "ab". "ab" is the longest continuous substring.
Example 2:
Input: s = "abcde" // Only lower case
Output: 5
Explanation: "abcde" is the longest continuous substring.
My Code only Prints 1 Why is that?
I have used ASCII Values to solve can anyone help me.
you're code is effectively counting how often the letter 'a' appears in a string.
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;
}
}