面试算法-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;
    }
}
相关推荐
绝无仅有2 小时前
计算机网络核心面试知识深入解析
后端·面试·架构
Lee川2 小时前
从异步探索者到现代信使:JavaScript数据请求的进化之旅
javascript·面试
JYeontu2 小时前
程序员都该掌握的“质因数分解”
前端·javascript·算法
with-the-flow2 小时前
从数学底层的底层原理来讲 random 的函数是怎么实现的
c语言·python·算法
tyb3333332 小时前
leetcode:吃苹果和队列
算法·leetcode·职场和发展
多恩Stone2 小时前
【3D-AICG 系列-15】Trellis 2 的 O-voxel Shape: Flexible Dual Grid 代码与论文对应
人工智能·python·算法·3d·aigc
weixin_448119942 小时前
Datawhale 大模型算法全栈基础篇 202602第4次笔记
笔记·算法
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章27-图像分割
图像处理·人工智能·opencv·算法·计算机视觉
NEXT062 小时前
React 核心揭秘:虚拟 DOM 原理与 Diff 算法深度解析
前端·react.js·面试
TracyCoder1232 小时前
LeetCode Hot100(60/100)——55. 跳跃游戏
算法·leetcode