面试算法-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;
    }
}
相关推荐
测试19985 小时前
接口自动化测试套件封装示例详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
liu****5 小时前
3.链表讲解
c语言·开发语言·数据结构·算法·链表
第二只羽毛6 小时前
C++ 高性能编程要点
大数据·开发语言·c++·算法
CQ_YM6 小时前
数据结构之栈
数据结构·算法·
爱学习的梵高先生6 小时前
C++:基础知识
开发语言·c++·算法
xlq223226 小时前
24.map set(下)
数据结构·c++·算法
繁华似锦respect7 小时前
C++ & Linux 中 GDB 调试与内存泄漏检测详解
linux·c语言·开发语言·c++·windows·算法
立志成为大牛的小牛7 小时前
数据结构——五十四、处理冲突的方法——开放定址法(王道408)
数据结构·学习·程序人生·考研·算法
XUN4J7 小时前
深入解析MySQL事务与锁:构建高并发数据系统的基石
后端·面试
soda_yo7 小时前
浅拷贝与深拷贝: 克隆一只哈基米
前端·javascript·面试