面试算法-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;
    }
}
相关推荐
软件算法开发17 分钟前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
无限大61 小时前
AI实战03:Java开发岗专属工作流|用AI辅助代码审查与文档生成
面试
superior tigre1 小时前
22 括号生成
算法·深度优先
腾阳2 小时前
99%的人忽视了这一点:活着本身就是人生的意义,别让抑郁和内耗成为你的枷锁!
经验分享·程序人生·职场和发展·跳槽·学习方法·媒体
不吃西红柿的852 小时前
[职场] 内容运营求职简历范文 #笔记#职场发展
笔记·职场和发展·内容运营
liyang_8302 小时前
邦芒秘诀:职场高手都具备的三个特征
职场和发展
普通网友2 小时前
十大秘闻:揭秘霍兰德职业兴趣理论的未知面!
职场和发展·求职招聘·职场发展·单一职责原则
爱我所爱flash2 小时前
职场上,如果不想被淘汰,谨记这3条生存法则,早知早获益
职场和发展
程序员雨果2 小时前
软件测试工程师:面试题与经验分享
软件测试·面试·职场和发展
普通网友2 小时前
[职场] 运营支撑是什么意思 #其他#学习方法#职场发展
职场和发展·学习方法