力扣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;
    }
};
相关推荐
倒头就睡的小比特4 天前
算法竞赛C++常用的STL
c++·算法
weilx12344 天前
C++笔记-文件IO-<fcntl.h>
c++
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼4 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
Smileyqp沛沛4 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
m0_547486664 天前
《数据结构教程》全套 PPT课件2026
数据结构
C语言小火车4 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光4 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark4 天前
大规模并行计算中的负载均衡算法研究4
算法
吞下星星的少年·-·4 天前
C++ 萌新语法入门篇
c++·算法比赛