力扣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;
    }
};
相关推荐
代码地平线8 小时前
C++类与对象(中):默认成员函数与日期类实战
c++·笔记·算法
hansang_IR8 小时前
【题解】可持久化区间仿射区间和(Persistent Range Affine Range Sum)
c++·算法·线段树
XWalnut9 小时前
LeetCode刷题 day37
java·数据结构·算法·leetcode
Smilecoc9 小时前
方向导数与梯度
算法
瑞码空间9 小时前
01背包:动态规划的Hello World
c++·算法·0/1背包问题
Wang's Blog9 小时前
AI Agent白手起家63: LangGraph 人机交互——让人类介入 AI 工作流
人工智能·算法·人机交互
爱跳舞的烤冷面9 小时前
自学嵌入式第19天(数据结构篇——栈)
数据结构
乐观勇敢坚强的老彭10 小时前
C++ STL 常用容器的速查表
java·c++·算法
北冥you鱼10 小时前
深入解析 Go 中 sync.YAML.Unmarshal:如何将 YAML 数据填充到 Config 结构体
开发语言·算法·golang
evans在进步10 小时前
LeetCode 74:搜索二维矩阵——Java 虚拟一维数组与二分查找详解
java·leetcode·矩阵