宝塔面板加wordpress建站,python做网站怎么样,濮阳网格化app,自助建网站哪个便宜3. 无重复字符的最长子串#xff08;中等#xff09; 方法#xff1a;滑动窗口 哈希表
思路 这道题主要用到思路是#xff1a;滑动窗口 什么是滑动窗口#xff1f; 其实就是一个队列,比如例题中的 abcabcbb#xff0c;进入这个队列#xff08;窗口#xff09;为 ab…3. 无重复字符的最长子串中等 方法滑动窗口 哈希表
思路 这道题主要用到思路是滑动窗口 什么是滑动窗口 其实就是一个队列,比如例题中的 abcabcbb进入这个队列窗口为 abc 满足题目要求当再进入 a队列变成了 abca这时候不满足要求。所以我们要移动这个队列 如何移动 我们只要把队列的左边的元素移出就行了直到满足题目要求 一直维持这样的队列找出队列出现最长的长度时候求出解
代码
class Solution {
public:int lengthOfLongestSubstring(string s) {int ans 0;int left 0;unordered_setchar lookup;for(int i0; is.size(); i) {// 说明该字符重复.// 不断删除最左边的元素直到将重复元素移出窗口while(lookup.find(s[i]) ! lookup.end()) {lookup.erase(s[left]);left ;}ans max(ans, i - left 1);lookup.insert(s[i]);}return ans;}
};参考资料
滑动窗口