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;
    }
};
相关推荐
Logic10113 小时前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
小蒋学算法14 小时前
算法-交替删除操作后最后剩下的整数-跟着灵茶山艾府学算法
数据结构·算法
荆棘鸟智能14 小时前
林业遥感长势评估怎么做?从NDVI时序分析到LiDAR蓄积量回归
人工智能·算法·智慧林业
hhb_61815 小时前
AIRAGDebug:一键定位RAG链路异常
人工智能·python·算法
朝朝辞暮i16 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
苏打豆16 小时前
Pinocchio源码阅读——刚体运动物理量空间变换及求导
c++·线性代数·算法·矩阵·机器人
FluxArt16 小时前
GPT Image 2.5 中文提示词教程:Flux Art 可复用模板
前端·gpt·算法
思麟呀17 小时前
位运算:从一个整数到一个集合
c语言·数据结构·c++·算法
阜阳山君GEO17 小时前
豆包 SEED 新版本 GEO 优化:信源金字塔、打分体系与避坑落地指南
人工智能·算法
晓天衡宇•评测社区17 小时前
晓天衡宇亮相 2026 云栖大会:迈向更可信的高质量评测
人工智能·算法·机器学习