面试算法-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;
    }
}
相关推荐
智绘前端1 小时前
TypeScript面试题集合【初级、中级、高级】
前端·javascript·面试·typescript
C语言小火车2 小时前
QT面试题:内存管理与对象生命周期
开发语言·qt·面试
雾月555 小时前
LeetCode 941 有效的山脉数组
java·开发语言·数据结构·算法·leetcode·职场和发展
uhakadotcom7 小时前
归因工具:了解国内外顶级产品
算法·面试·github
菜鸟起航ing8 小时前
【Java面试系列】Spring Boot中自动配置原理与自定义Starter开发实践详解 - 3-5年Java开发必备知识
java·spring boot·面试·自动配置·自定义starter
uhakadotcom8 小时前
了解Dapr:构建分布式应用的强大工具
后端·面试·github
uhakadotcom8 小时前
Kibana:数据分析和可视化的强大工具
后端·面试·github
uhakadotcom8 小时前
Grafana:数据可视化和监控平台的强大工具
后端·面试·github
uhakadotcom9 小时前
Unity 中使用 Python 脚本:简明指南
面试·架构·github
小羊在奋斗9 小时前
【多源BFS】01 矩阵 / 飞地的数量 / 地图中的最高点 / 地图分析 / 腐烂的苹果
算法·矩阵·宽度优先