滑动窗口 实现无重复最大连续字串
涉及unordered_set类型的使用,包括find()、insert()、erase()函数使用。
滑动窗口:当前字符串不存在字串中,直接插入;若存在,将最左边的元素一直移除直到不存在。这样相当于遍历了所有无重复连续字串。
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_set <char> substr;;
int maxlen = 0;
int left = 0;
for(int i=0; i < s.size(); i++) {
while (substr.find(s[i]) != substr.end()) {
substr.erase(s[left]);
left++;
}
substr.insert(s[i]);
maxlen = max(maxlen, i-left+1);
}
return maxlen;
}
};

浙公网安备 33010602011771号