面试算法-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;
    }
}
相关推荐
爱读书的小胖7 小时前
LeetCode 88. 合并两个有序数组 C 解题分析
c语言·数据结构·算法
ShineWinsu7 小时前
对于CSS:弹性布局(Flexbox)的解析
前端·css·面试·浏览器·web·网页·弹性布局
员工风险治理专家黄海波8 小时前
商业利益冲突预防性内控与职责分离如何减少主观偏差
职场和发展
垆边人似月.8 小时前
删边使每个连通块权值和为 target
算法·深度优先·图论
xxwl5858 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
xxwl5859 小时前
第六章---计算几何
笔记·学习·算法
Logic10110 小时前
C语言/数据结构二维数组题解:找出行列O个数均为偶数的格子——奇偶性预处理+二次遍历
c语言·数据结构·算法·二维数组·时间复杂度·动态内存分配·奇偶性
程序猿阿森10 小时前
【机器学习实战】朴素贝叶斯算法详解:从概率基础到商品评论情感分析
算法·机器学习·概率论
xxwl58510 小时前
区域赛算法模版第五章---数学与数论
c++·笔记·算法