力扣HOT100——无重复字符的最长子字符串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。

示例 1:

复制代码
输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

思路:

滑动窗口。遍历整个字符串,每遍历到一个新的字符,则以它起点结合unordered_map来判断最长无重复的字串是多少,然后更答案maxlength。

cpp 复制代码
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int maxlenth=0;
        
        for(int i=0;i<s.size();i++)
        {
            int j=i;
            unordered_map<char,int> mp;
            while(j<s.size()&&mp[s[j]]==0)
            {
                mp[s[j]]++;
                j++;
            }
            maxlenth=max(maxlenth,j-i);
                mp.erase(s[i]);
            
        }
        return maxlenth;
    }
};
相关推荐
ChoSeitaku4 分钟前
高数强化NO6|极限的应用|连续的概念性质|间断点的定义分类|导数与微分
人工智能·算法·分类
代码游侠10 分钟前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
自然语12 分钟前
人工智能之数字生命-情绪
人工智能·算法
Ayanami_Reii20 分钟前
进阶数据结构应用-维护序列
数据结构·算法·线段树
_w_z_j_27 分钟前
mari和shiny() (多状态dp数组)
算法
CoderYanger31 分钟前
C.滑动窗口-越长越合法/求最短/最小——2904. 最短且字典序最小的美丽子字符串
java·开发语言·数据结构·算法·leetcode·1024程序员节
Tim_1033 分钟前
【算法专题训练】33、堆
算法
lijiatu1008637 分钟前
[C++] QTimer与Qt事件循环机制 实验探究
c++·qt
三月微暖寻春笋43 分钟前
【和春笋一起学C++】(四十九)C++中string类的简介
c++·cstring·string类·string类的实现·string类方法
Salt_07281 小时前
DAY25 奇异值SVD分解
python·算法·机器学习