LeetCode:滑动窗口

文章目录

3.无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。

【思路】

  1. 滑窗cur, fast + unordered_set;
  2. fast在for循环主动遍历字符:
    -- if set中无:更新len,set插入该字符;
    -- if set中有:set删除cur对应字符,cur被动++
cpp 复制代码
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        if(s.size() == 0) return 0;
        unordered_set<char> set;
        int cur = 0;
        int res = 0;
        for(int i = 0; i < s.size(); i++){
            while(set.find(s[i]) != set.end()){
                set.erase(s[cur]);
                cur++;

            }
            res = max(res, i - cur + 1);
            set.insert(s[i]);
        }
        return res;
    }
};
相关推荐
小飞学编程...7 分钟前
【哈希表】
数据结构·哈希算法·散列表
Tbisnic44 分钟前
BGE-M3 算法详解:从模型架构到三种检索方式的数学原理
算法·自然语言处理·大模型·bert·transformer·注意力机制
Brilliantwxx1 小时前
【算法从零到千】【55-58】哈希位图+常见数学运算 接口
算法
空堂与归2 小时前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
动词ing3 小时前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习3 小时前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
一只小小的芙厨3 小时前
基础数论总结
笔记·学习·算法
动词ing4 小时前
【C语言】结构体+文件基础
c语言·开发语言·数据结构
夜不会漫长5 小时前
C++入门(1)
开发语言·c++·算法
wen_zhufeng5 小时前
IndexTTS 2.5 技术报告
人工智能·算法·机器学习