面试算法-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;
    }
}
相关推荐
依然鸣9 小时前
PTA团体程序设计天梯赛L2真题讲解L2-005-008
开发语言·数据结构·c++·算法·深度优先·pat考试·图论
.柒宇.9 小时前
运维常见面试题_04_Nginx与DNS服务
运维·nginx·面试·dns
看浪的路人9 小时前
第2讲:一致性哈希——数据分片与负载均衡
算法·哈希算法
阿维的博客日记9 小时前
保姆级教程介绍分词算法BPE
人工智能·算法·分词算法·bpe
Tongzhi202610 小时前
通芝科技无感考勤一体机:软硬一体,开箱即用
数据结构·数据库·科技·算法·均值算法·数据库开发
黄敬峰10 小时前
从零理解 Next.js:SPA 的 SEO 短板与 SSR 全栈方案
面试
地平线开发者10 小时前
BEVdet模型解析
算法·自动驾驶
tudousisi22210 小时前
P2758 编辑距离 题解复盘
算法
李可以量化10 小时前
Tornado 从了解到精通(四)上:实战搭建 Web 应用与核心组件详解
算法
linux-hzh11 小时前
百日算法修炼 · Day 09
数据结构·算法·排序算法