面试算法-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;
    }
}
相关推荐
炽烈小老头2 分钟前
【每天学习一点算法 2025/12/15】环形链表
学习·算法·链表
点云SLAM4 分钟前
算法复杂度分析之——空间复杂度分析和标准库算法与容器操作的复杂度实际案例分析(3)
算法·深度优先·空间复杂度·算法性能分析·标准库算法
feathered-feathered6 分钟前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
Liangwei Lin6 分钟前
洛谷 P5788 【模板】单调栈
算法
京东零售技术7 分钟前
ACL 2025 | 一种用于电子商务query意图分类的半监督可扩展统一框架
算法
a程序小傲19 分钟前
小红书Java面试被问:java创建对象有哪些方式?
java·开发语言·面试
ytttr8731 小时前
matlab实现多标签K近邻(ML-KNN)算法
算法·机器学习·matlab
一招定胜负1 小时前
逻辑回归调优三板斧:参数调整、阈值设定、数据集平衡
算法·机器学习·逻辑回归
豆约翰1 小时前
Z字形扫描ccf
java·开发语言·算法
Salt_07281 小时前
DAY 35 文件的规范拆分和写法
python·算法·机器学习