面试算法-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;
    }
}
相关推荐
pursuit_csdn3 分钟前
力扣周赛 503
java·算法·leetcode
sheeta19988 分钟前
LeetCode 每日一题笔记 日期:2026.05.21 题目:3043. 最长公共前缀的长度
笔记·算法·leetcode
我爱cope11 分钟前
【Agent智能体3 | 智能体AI的优势】
人工智能·职场和发展
吃好睡好便好11 分钟前
创建随机矩阵
开发语言·人工智能·线性代数·算法·matlab·矩阵
June bug14 分钟前
【AI赋能软件测试】6RAG知识库基础
学习·职场和发展
sheeta199824 分钟前
LeetCode 每日一题笔记 日期:2026.05.23 题目:1752. 检查数组是否经排序和轮转得到
笔记·算法·leetcode
Frostnova丶27 分钟前
【算法笔记】最短路径算法
笔记·算法·图论
小此方30 分钟前
Re:Linux系统篇(二十一)进程篇·六:穿过底层看本质,深入理解底层进程切换与 O(1) 调度算法
linux·驱动开发·算法
小O的算法实验室31 分钟前
2026年SEVC,层级分解协同演化算法+带有无人机的车辆路径路径规划
算法·无人机
吃好睡好便好35 分钟前
用直接输入的方式创建矩阵
开发语言·人工智能·学习·线性代数·算法·matlab·矩阵