NOTE: This problem is generated by LeetCode. TakeTheNotes has given only solution for educational purpose.
Problem Name: Longest Substring Without Repeating Characters
Description: Given a string s, find the length of the longest substring without repeating characters.
Example 1:
Input: s = "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3.
Example 2:
Input: s = "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.
Example 3:
Input: s = "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3.
Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.
Constraints:
0 <= s.length <= 5 * 104
s
consists of English letters, digits, symbols and spaces.
Solution:
int lengthOfLongestSubstring(char * s){
int len = strlen(s);
if(len <= 1)
{
return len;
}
int max = 1;
int currentLen;
for(int i = 0; i < len; i++)
{
currentLen = 1;
bool seen[256] = {0, };
for(int j = i+1; j < len; j++)
{
if(s[i] != s[j])
{
if(seen[s[j]] == true)
{
//This character was already seen before
break;
}
currentLen++;
seen[s[j]] = true;
}
else
{
break;
}
}
max = (max > currentLen) ? max : currentLen;
}
return max;
}