面试算法-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;
    }
}
相关推荐
LYS_06189 分钟前
寒假学习(7)(C语言7+模数电7)
c语言·学习·算法
砚边数影14 分钟前
逻辑回归实战(二):Java + DL4J 实现模型,评估指标(准确率/召回率)计算
java·数据库·算法·机器学习·逻辑回归·金仓数据库
Cher ~15 分钟前
【数据结构】hash表(unordered_map)
java·数据结构·c++·算法·哈希算法
一起养小猫15 分钟前
Flutter for OpenHarmony 实战:食物生成算法与难度递增系统
算法·flutter
u01092727123 分钟前
自定义类型转换机制
开发语言·c++·算法
hetao173383723 分钟前
2026-01-27 hetao1733837 的刷题笔记
c++·笔记·算法
Tisfy35 分钟前
LeetCode 3650.边反转的最小路径总成本:Dijkstra算法
算法·leetcode··dijkstra·题解·迪杰斯特拉
2401_8384725138 分钟前
自定义操作符重载指南
开发语言·c++·算法
鹿角片ljp43 分钟前
力扣136.只出现一次的数字-异或和HashMap
java·数据结构·算法·leetcode
W_a_i_T43 分钟前
【Coding日记】菜鸟编程C语言100例——第三题⚠️
c语言·开发语言·经验分享·算法·菜鸟编程