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

leetcode Hot 100系列

文章目录


一、核心操作

  1. 用map,key为char,value为出现次数,将字符串中的值依次入栈,再判断次数是否大于1,如果大于1,则循环删除掉包括重复值之前的char
  2. 记录最大长度

提示:小白个人理解,如有错误敬请谅解!

二、外层配合操作

  1. 双指针操作

三、核心模式代码

代码如下:

c 复制代码
class Solution {
    public:
        int lengthOfLongestSubstring(std::string s) {
            std::unordered_map<char,int> umap;
            int res=0;
            for(int left=0,right=0;right<s.size();right++)
            {
                umap[s[right]]++;
                while(umap[s[right]]>1)
                {
                    umap[s[left++]]--;
                }
                res=std::max(res,right-left+1);
            }
            return res;
        }
    };

总结

  1. 先加入,后判断,循环删除重复值
相关推荐
金融小师妹1 小时前
应用BERT-GCN跨模态情绪分析:贸易缓和与金价波动的AI归因
大数据·人工智能·算法
广州智造1 小时前
OptiStruct实例:3D实体转子分析
数据库·人工智能·算法·机器学习·数学建模·3d·性能优化
Trent19853 小时前
影楼精修-肤色统一算法解析
图像处理·人工智能·算法·计算机视觉
feifeigo1233 小时前
高光谱遥感图像处理之数据分类的fcm算法
图像处理·算法·分类
北上ing4 小时前
算法练习:19.JZ29 顺时针打印矩阵
算法·leetcode·矩阵
.格子衫.5 小时前
真题卷001——算法备赛
算法
XiaoyaoCarter5 小时前
每日一道leetcode
c++·算法·leetcode·职场和发展·二分查找·深度优先·前缀树
Hygge-star6 小时前
【数据结构】二分查找5.12
java·数据结构·程序人生·算法·学习方法
June`7 小时前
专题二:二叉树的深度搜索(二叉树剪枝)
c++·算法·深度优先·剪枝
加什么瓦7 小时前
Redis——底层数据结构
数据结构