class Solution {
public:
int lengthOfLongestSubstring(string s) {
if(s.size() == 0) return 0;
if(s.size() == 1) return 1;
int post[128] = {-1};
fill(post,post+128,-1);
int length_temp = 0;
int length_max = 0;
int i = 0, j = 1;
//mp.insert(s[i]);
post[int(s[i])] = i;
while(j < s.size()) {
if(post[int(s[j])] != -1) {
i = post[int(s[j])] + 1;
for(int k = 0; k < 128; k++) {
if(post[k] < i) post[k] = -1;
}
}
length_temp = j - i + 1;
post[int(s[j])] = j;
// if(post[int(s[j])] == -1) {
// length_temp = j - i + 1;
// //mp.insert(s[j]);
// post[int(s[j])] = j;
// }
// else {
// i = post[int(s[j])] + 1;
// for(int k = 0; k < 128; k++) {
// if(post[k] < i) post[k] = -1;
// }
// post[int(s[j])] = j;
// length_temp = j -i + 1;
// }
length_max = length_temp > length_max ? length_temp : length_max;
j++;
}
return length_max;
}
};
3. Longest Substring Without Repeating Characters
最新推荐文章于 2021-12-03 15:58:56 发布