面试算法-141-无重复字符的最长子串

题目

给定一个字符串 s ,请你找出其中不含有重复字符的 最长

子串

的长度。

示例 1:

输入: s = "abcabcbb"

输出: 3

解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

java 复制代码
class Solution {
    public int lengthOfLongestSubstring(String s) {
        int n = s.length();
        int left = 0;
        int right = 0;
        int maxLen = 0;
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        while (left <= right && right < n) {
            Character chRight = s.charAt(right);
            if (map.get(chRight) == null) {
                map.put(chRight, 1);
                right++;
            } else {
                Character chLeft = s.charAt(left++);
                map.remove(chLeft);
            }

            maxLen = Math.max(maxLen, right - left);
        }
        return maxLen;
    }
}
相关推荐
Dev7z12 小时前
基于Matlab多算法的图像增强与客观质量评价系统
人工智能·算法·matlab
wjm04100612 小时前
秋招ios面试 -- 真题篇(二)
面试·职场和发展
xcLeigh13 小时前
【新】Rust入门:基础语法应用
开发语言·算法·rust
Aspect of twilight13 小时前
2025华为AI岗实习面试深度学习基础知识
人工智能·深度学习·面试
小年糕是糕手13 小时前
【C++同步练习】类和对象(一)
java·开发语言·javascript·数据结构·c++·算法·排序算法
小O的算法实验室13 小时前
2025年IJPR SCI2区,基于混合邻域结构的高效稳定智能调度算法用于柔性作业车间调度,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
小年糕是糕手13 小时前
【C++同步练习】类和对象(二)
java·开发语言·javascript·数据结构·c++·算法·ecmascript
沙白猿13 小时前
B树 / B+树
数据结构·b树·算法
我不是彭于晏丶13 小时前
74. 搜索二维矩阵
数据结构·算法
一个处女座的程序猿13 小时前
AI之Algorithms:TheAlgorithms_Python(所有用 Python 实现的算法)的简介、安装和使用方法、案例应用之详细攻略
人工智能·python·算法