面试算法-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;
    }
}
相关推荐
Nil20810 分钟前
leetcode 49字母异位分组
算法·leetcode·哈希算法
weixin_3077791321 分钟前
C++代码实现MATLAB中的spectralcluster函数功能
开发语言·c++·算法·matlab
鸥梨菌Honevid23 分钟前
UVM Sequencer 深度解析:FIFO 深度、req/rsp 应答模型与高频面试坑
面试·职场和发展
用户62228840481924 分钟前
站在JDK的角度理解线程池:从execute 到 getTask 一篇讲透
java·面试
考研保研资料分享25 分钟前
生态学保研经验:从中央民族大学到上交,科研分工与多校考核(2025)
面试
行者全栈架构师28 分钟前
【鸿蒙心迹】让应用“悬浮“起来——闪控球(floatingBall)从接入到实战全链路(HarmonyOS 7.x)
前端·算法·架构
云的雨 雨的云33 分钟前
手写算法动画上位机:从排序到线性代数可视化
线性代数·算法
Pniubi1 小时前
快速排序(力扣基础)(递归)
java·数据结构·算法
roman_日积跬步-终至千里1 小时前
【数据Agent论文·分析与报告评测|27】ComInsight:原子洞察正确,组合后的结论就可靠吗?
人工智能·算法·机器学习·数据分析
Samson Bruce1 小时前
【数学之美】
线性代数·算法·概率论