面试算法-36-无重复字符的最长子串

题目

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

子串

的长度。

示例 1:

输入: s = "abcabcbb"

输出: 3

解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

java 复制代码
class Solution {
    public int lengthOfLongestSubstring(String s) {
        int n = s.length();
        Map<Character, Integer> map = new HashMap<>();
        int j = 0;
        int max = 0;
        for (int i = 0; i < n; i++) {
            if (map.get(s.charAt(i)) == null) {
                map.put(s.charAt(i), 1);
                max = Math.max(max, i - j + 1);
            } else {
                map.remove(s.charAt(j++));
                i--;
            }
        }
        return max;
    }
}
相关推荐
Lauren_Blueblue1 分钟前
第十六届蓝桥杯省赛Python研究生组-F串
python·算法·蓝桥杯·算法基础
鲸渔2 分钟前
【C++ 入门】第一个程序:Hello World 与基本语法规则
开发语言·c++·算法
星辰_mya3 分钟前
深度全面学习负载均衡Ribbon/Spring Cloud LoadBalancer
后端·spring cloud·面试·负载均衡·架构师
‎ദ്ദിᵔ.˛.ᵔ₎4 分钟前
滑动窗口算法
算法·哈希算法
sali-tec5 分钟前
C# 基于OpenCv的视觉工作流-章46-矩形卡尺
图像处理·人工智能·opencv·算法·计算机视觉
仟濹7 分钟前
【算法打卡day39(2026-04-06~08 周一~周三)】(10道蓝桥杯真题)今日练习:蓝桥杯第13届省赛B组Cpp组
算法·职场和发展·蓝桥杯
美式请加冰12 分钟前
最短路径问题
java·数据结构·算法
会编程的土豆12 分钟前
【数据结构与算法】 时间复杂度计算
数据结构·c++·算法
小年糕是糕手14 分钟前
【35天从0开始备战蓝桥杯 -- Day9】
数据结构·数据库·c++·算法·蓝桥杯
知星小度S19 分钟前
算法训练之递归(二)
算法