力扣top300:3. 无重复字符的最长子串

序号前300中非会员题

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

不定长滑动窗口题目

我们只需要使用哈希表存储窗口内的字符,然后滑动窗口,当出现重复字符时移动左指针即可,

每次遍历要更新结果。

很标准的三步:移入窗口,是否移出,更新结果

cpp 复制代码
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
    int l=s.size();
    int ant=0;
    unordered_map<char,int> m;
    for(int i=0,j=0;i<l;i++)
    {
        m[s[i]]++;
        while(j<=i&&m[s[i]]>1)
        {
            m[s[j]]--;
            j++;
        }
        ant=max(ant,i-j+1);
    }
    return ant;
    }
};
相关推荐
liu****11 小时前
10.排序
c语言·开发语言·数据结构·c++·算法·排序算法
_OP_CHEN11 小时前
【算法基础篇】(三十二)动态规划之背包问题扩展:从多重到多维,解锁背包问题全场景
c++·算法·蓝桥杯·动态规划·背包问题·算法竞赛·acm/icpc
利刃大大11 小时前
【JavaSE】十一、Stack && Queue && Deque && PriorityQueue && Map && Set
java·数据结构·优先级队列··哈希表·队列·集合类
listhi52011 小时前
机械系统运动学与动力学在MATLAB及SimMechanics中的实现方案
人工智能·算法·matlab
fufu031111 小时前
Linux环境下的C语言编程(三十九)
c语言·数据结构·算法·链表
炽烈小老头11 小时前
【 每天学习一点算法 2025/12/12】回文链表
学习·算法·链表
前端小L11 小时前
回溯算法专题(十):二维递归的完全体——暴力破解「解数独」
数据结构·算法
AI科技星12 小时前
姬无烦科幻与张祥前统一场论的完美融合
数据结构·人工智能·算法·机器学习·重构
comli_cn12 小时前
Adam算法
人工智能·算法·机器学习
另寻沧海12 小时前
C++ Lambda表达式的隐式转换陷阱
java·c++·算法