面试算法-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;
    }
}
相关推荐
qq_4160187217 分钟前
C++中的状态模式
开发语言·c++·算法
2401_8845632417 分钟前
模板代码生成工具
开发语言·c++·算法
2401_8319207432 分钟前
C++代码国际化支持
开发语言·c++·算法
m0_6727033139 分钟前
上机练习第51天
数据结构·c++·算法
ArturiaZ1 小时前
【day60】
算法·深度优先·图论
2401_851272991 小时前
自定义内存检测工具
开发语言·c++·算法
☆5661 小时前
C++中的命令模式
开发语言·c++·算法
仰泳的熊猫1 小时前
题目2577:蓝桥杯2020年第十一届省赛真题-走方格
数据结构·c++·算法·蓝桥杯
消失的旧时光-19432 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
yuhaiqiang2 小时前
被 AI 忽悠后,开始怀念搜索引擎了?
前端·后端·面试