Description
Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb"
, the answer is "abc"
, which the length is 3.
Given "bbbbb"
, the answer is "b"
, with the length of 1.
Given "pwwkew"
, the answer is "wke"
, with the length of 3. Note that the answer must be asubstring, "pwke"
is asubsequence and not a substring.
Code:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
set<char> m;
int max = 0, k;
for (int i = 0; i < s.length(); i++)
{
k = 0;
for (int j = i; j < s.length(); j++)
{
m.insert(s[j]);
if (m.size() == k)
break;
k = m.size();
}
m.clear();
if (k>max)
max = k;
}
return max;
}
};