来啦,从开头选一题写吧,感觉得以专题为基础练习的……
- 无重复字符的最长子串
用unordered_map和滑动窗口解决此问题
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_map<char, int> freq;
int left = 0, len = 0;
int n = s.size();
for(int right = 0; right < n; right++){ //用来遍历字符串
freq[s[right]]++; //表示当前字符在字符串中出现的次数
while(freq[s[right]] != 1){ //当前字符串在字符中出现的次数不等于1
freq[s[left]]--; //次数减1
left++; //窗口左边界
}
len = max(len, right - left + 1);
}
return len;
}
};