面试算法-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;
    }
}
相关推荐
此时不提桶,更待何时1 分钟前
05-05-B-对象存储与文件服务面试与生产事故实战
面试·nosql
hold?fish:palm11 分钟前
44 二叉搜索树中第K小的元素
开发语言·c++·算法
ychqsq1 小时前
198.根源
经验分享·职场和发展
Chen—LSN1 小时前
C语言——⽂件操作(1)
c语言·开发语言·c++·经验分享·笔记·算法·链表
晚安日记wanna1 小时前
大厂禁 JOIN 的真正原因,拆到第四层才清楚
数据库·后端·面试
anew___1 小时前
《从零手写操作系统 (11):文件系统初探——initrd与VFS抽象层》
java·javascript·算法
Chen—LSN2 小时前
C语言——文件操作(2)
c语言·开发语言·c++·经验分享·笔记·算法·c#
多喝水身体棒2 小时前
Spring Boot 自动配置原理,看完终于不慌了
面试·程序员
程序员yu2 小时前
会编网络:别被入门教程骗了,Python实用能力不在语法本身
开发语言·python·学习·算法
解决小子2 小时前
2026年中国就业情况报告
ai·职场和发展·创业创新·业界资讯·就业