Sliding Window
Longest substring without repeating characters
unordered_map<char, int> mp;
int i = 0;
int j = 0;
int length = 0;
while(j < s.size()) {
if(mp.find(s[j]) != mp.end() && mp[s[j]] >= i) {
i = mp[s[j]] + 1;
}
mp[s[j]] = j;
length = max(length, j - i + 1);
j++;
}
return length;