Leetcode 3 Longest Substring Without Repeating Characters
class Solution{
public:
int lengthOfLongestSubstring(std::string s){
if(s.empty())
return 0;
int max_num = 0;
vector<int> position(256,-1);
int last_num = 0;
int cur_num;
for(int i = 0;i < s.length();++i) {
if(position[s[i]] == -1 || i - position[s[i]] > last_num){
cur_num = last_num + 1;
position[s[i]] = i;
}
else if(i - position[s[i]] <= last_num){
cur_num = i - position[s[i]];
position[s[i]] = i;
}
max_num = max(max_num,cur_num);
last_num = cur_num;
}
return max_num;
}
};