面试算法-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;
    }
}
相关推荐
Lee川15 小时前
深度解构JavaScript:作用域链与闭包的内存全景图
javascript·面试
CoovallyAIHub17 小时前
语音AI Agent编排框架!Pipecat斩获10K+ Star,60+集成开箱即用,亚秒级对话延迟接近真人反应速度!
深度学习·算法·计算机视觉
UrbanJazzerati17 小时前
Python Scrapling反爬虫小技巧之Referer
后端·面试
一点一一17 小时前
从输入URL到页面加载:浏览器多进程/线程协同的完整逻辑
前端·面试
木心月转码ing19 小时前
Hot100-Day14-T33搜索旋转排序数组
算法
暮色妖娆丶21 小时前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
UrbanJazzerati21 小时前
Python Scrapling:小白也能轻松掌握的现代网页抓取工具
后端·面试
Lee川21 小时前
🚀《JavaScript 灵魂深处:从 V8 引擎的“双轨并行”看执行上下文的演进之路》
javascript·面试
zone773921 小时前
004:RAG 入门-LangChain读取PDF
后端·python·面试
会员源码网21 小时前
内存泄漏(如未关闭流、缓存无限增长)
算法