面试算法-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;
    }
}
相关推荐
共享家952717 分钟前
哈希的原理、实现
c++·算法
进击的小白菜27 分钟前
用Java实现单词搜索(LeetCode 79)——回溯算法详解
java·算法·leetcode
珂朵莉MM1 小时前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
小智学长 | 嵌入式1 小时前
进阶-数据结构部分:2、常用排序算法
java·数据结构·算法
少了一只鹅1 小时前
字符函数和字符串函数
c语言·算法
Dr.9272 小时前
1-10 目录树
java·数据结构·算法
子豪-中国机器人2 小时前
C++ 蓝桥 STEMA 省选拔赛模拟测试题(第一套)
开发语言·c++·算法
callJJ2 小时前
Bellman - Ford 算法与 SPFA 算法求解最短路径问题 ——从零开始的图论讲解(4)
数据结构·算法·蓝桥杯·图论·单源最短路径·bellman- ford算法
圈圈编码2 小时前
LeetCode Hot100刷题——轮转数组
java·算法·leetcode·职场和发展
〆、风神2 小时前
面试真题 - 高并发场景下Nginx如何优化
java·nginx·面试