面试算法-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;
    }
}
相关推荐
程序员雷欧2 小时前
大厂计算机网络面试高频题
计算机网络·面试·职场和发展
鱼很腾apoc4 小时前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理
java·c语言·开发语言·c++·学习·算法·青少年编程
JAVA学习通5 小时前
美团AI面试 实习一面面经
面试·职场和发展
小许同学记录成长6 小时前
三维重建技术文档
算法·无人机
卷帘依旧6 小时前
怎么保证AI生成的代码是符合预期的
面试
卷帘依旧6 小时前
RAG(Retrieval-Augmented Generation)完全指南(deepseek生成)
面试
卷帘依旧6 小时前
知识切分与维护相关知识介绍
面试
卷帘依旧7 小时前
RAG 的设计问题与局限性分析
面试
小为资料库7 小时前
2026年5月16日教资面试真题汇总(中小幼各科全)
面试·职场和发展