面试算法-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;
    }
}
相关推荐
ゞ 正在缓冲99%…12 小时前
2025.9.28华为软开
算法·华为
9ilk13 小时前
【C++】 --- 哈希
c++·后端·算法·哈希算法
芯片智造14 小时前
光刻工艺工程师职场就业相关面试问题汇总
经验分享·面试·芯片·半导体
再卷也是菜14 小时前
C++篇(21)图
数据结构·c++·算法
星轨初途14 小时前
C++入门(算法竞赛类)
c++·经验分享·笔记·算法
灰灰勇闯IT15 小时前
KMP算法在鸿蒙系统中的应用:从字符串匹配到高效系统级开发(附实战代码)
算法·华为·harmonyos
小龙报15 小时前
【算法通关指南:数据结构和算法篇 】队列相关算法题:3.海港
数据结构·c++·算法·贪心算法·创业创新·学习方法·visual studio
csuzhucong15 小时前
一阶魔方、一阶金字塔魔方、一阶五魔方
算法
五花就是菜16 小时前
P12906 [NERC 2020] Guide 题解
算法·深度优先·图论
辞旧 lekkk16 小时前
【c++】封装红黑树实现mymap和myset
c++·学习·算法·萌新