力扣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;
    }
};
相关推荐
Promise48511 小时前
贝尔曼公式的迭代求解笔记
笔记·算法
fish_xk11 小时前
数据结构之二叉树中的堆
数据结构
福尔摩斯张12 小时前
Linux进程间通信(IPC)机制深度解析与实践指南
linux·运维·服务器·数据结构·c++·算法
你好~每一天12 小时前
未来3年,最值得拿下的5个AI证书!
数据结构·人工智能·算法·sqlite·hbase·散列表·模拟退火算法
杰克尼12 小时前
3. 分巧克力
java·数据结构·算法
zmzb010313 小时前
C++课后习题训练记录Day39
数据结构·c++·算法
Ayanami_Reii13 小时前
进阶数学算法-取石子游戏(ZJOI2009)
数学·算法·游戏·动态规划·区间dp·博弈论
一只小小汤圆14 小时前
已知圆弧的起点、终点、凸度 求圆弧的圆心
算法
丸码14 小时前
Java HashMap深度解析
算法·哈希算法·散列表
算法与编程之美14 小时前
Java数组动态扩容
java·开发语言·python·算法