3. 无重复字符的最长子串(JS实现)

华为OD面试手撕真题-无重复字符的最长子串[超高频](C++ | Java | Python3 | Js | Go)实现 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是。因为无重复字符的最长子串是 "abc",所以其长度为 3。因为无重复字符的最长子串是 "b",所以其长度为 1。,请你找出其中不含有重复字符最长子串的长度。的长度,"pwke"是一个。 阅读详情

1 题目

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。
示例 2:
输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
示例 3:
输入: “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。

2 思路

这道题应用滑动窗口的概念,重点关注符合题目条件的子字符串的首字符位置,当没有重复字符时,首字符位置不变,当有重复时,首字符位置向后滑动至之前记录的重复字符位置

3代码

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
    var map = {};
    var maxLength = 0;
    var x;
    var first = 0;
    for (var i=0;i<s.length;i++) {
        x = s.charAt(i);
        if (!(typeof map[x] === 'undefined' || map[x] < first)) {  //若有字符重复,首字符串位置向后滑动
            first = map[x] + 1;
        }
        map[x] = i;   //记录新加入字符位置

        if ((i - first + 1) > maxLength) {
            maxLength = i - first + 1;
        }
    }

    return maxLength;
};
Gazebo手册:【1】gazebo基本操作案例 欢迎来到初学者模块!本模块将引导您了解 Gazebo 的最基本功能。我们将构建一个简单的车辆来演示这些功能。这些教程适用于 Gazebo 新手和/或没有编程或 Linux 经验的人。 每个教程都建立在上一个教程的基础上,因此我们建议您按顺序学习这些教程。 一、何为Gazebo? Gazebo 是一款 3D 动态模拟器,能够准确有效地模拟复杂室内和室外环境中的机器人种群。虽然类似于游戏引擎,但 Gazebo 提供了更高保真度的物理模拟、一套传感器以及用于用户和程序的接口。 1............ 阅读详情

相关推荐

【Cadence】 ADS Dynamic Link使用教程

在Cadence617上使用ADS Dynamic Link

乾巽的博客 6075

JavaScript 字符串:无重复字符的最长子串

描述: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s = “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: s = “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为

Jeniclala的博客 2081

在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记

日期:2025-09-09关键词:鲲鹏920、Atlas 300i Duo、银河麒麟V10、NPU、驱动、固件。

weixin_41544125的博客 2813

JS实现无重复字符串子串的最长长度

JS实现无重复字符串子串的最长长度

yiguoxiaohai的博客 1014

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7323

Kolla 容器化 高可用OpenStack 部署与 Ceph 集群集成

本文介绍了 Kolla 项目在容器化 OpenStack 部署和管理方面的应用,以及与 Ceph 集群的集成。Kolla 项目通过容器技术提供了一种简化和自动化的 OpenStack 部署方法,同时实现了易于升级和回滚的特点。本文还探讨了 Kolla 在实现零宕机升级方面的进展,并分析了其对 OpenStack 用户和社区的重要意义。

we22635的博客 2702

Javascript每天一道算法题(八)——找出字符串中无重复字符的最长子串

Javascript每天一道算法题(八)——找出字符串中无重复字符的最长子串

weixin_44784401的博客 1119

jetson nano网络配置(有线、无线、USB)

注意:本节内容使用Jetson nano B01 版本或Jetson nano ALT 版本安装方式相同,在安装无线网卡等设备时,由于线材和设备比较脆弱,需要轻拿轻放,接口连接不上时,需要重新对准接口在进行连接,不要强行连接。Jetson nano 需要连接网络来进行更多的操作,本节就来讲解Jetson nano 的三种网络连接方法。有线:我们可以使用网线连接Jetson nano 的RJ45 接口,实现联网。

m0_73841621的博客 1万+

js-不含重复字符的最长子字符串

【代码】js-不含重复字符的最长子字符串。

weixin_44092085的博客 358

【项目实战】Java9的新特性模块化(Module)

Java 9引入了模块化系统,称为"Java Platform Module System"(JPMS)这个系统允许将Java程序分成模块,每个模块都有自己的规范,可以明确地声明它依赖于哪些其他模块,并且只能访问被其所依赖的模块暴露的API。这样可以模块化就是增加了更高级别的聚合,是Package的封装体。Package是一些类路径名字的约定,而模块是一个或多个Package组成的封装体。

奶爸的编程之路,也就一周冷个三天 1896

OceanBase备租户创建(二):通过BACKUP DATABASE PLUS ARCHIVELOG

OceanBase数据库备租户创建方法二:通过BACKUP DATABASE PLUS ARCHIVELOG功能实现,特别适用于社区版和单机版部署模式。

Sebastien23的博客 541

leetCode3.无重复字符的最长子串(JavaScript)

leetCode每日一题3.无重复字符的最长子串 难度中等 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。

m0_43391490的博客 737

LangGraph教程8:LangGraph流式处理

流式处理可显著提升基于LLM应用的响应性。LangGraph支持两种流式模式:values模式返回每一步的完整结果,适合需要完整上下文处理的场景;updates模式仅返回增量变化,适用于实时更新需求。示例代码展示了如何用create_react_agent实现这两种模式,其中values模式完整记录处理流程,updates模式逐步输出结果。通过异步迭代输出流,开发者可以灵活选择适合应用场景的流式处理方式。

Cachel Wood的博客 620

豆包 LeetCode 3 无重复字符的最长子串 JavaScript实现

空间:数组版 O(1);Map版 O(min(m,n)),m字符集大小。LeetCode 3 无重复字符的最长子串 JavaScript。HashMap版本(支持任意Unicode字符)滑动窗口,数组记录字符最近下标,时间 O(n)- 时间复杂度:O(n),左右指针只向前移动。

m0_37843156的博客 64

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

js实现 无重复字符的最长子串--力扣--3

目录 1 题目 2 输入输出 3 解法—滑动窗口 4 代码 1 题目 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 2 输入输出 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出...

bailizx 873

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

leetcode 3. 无重复字符的最长子串(JavaScript实现)

leetcode 3. 无重复字符的最长子串问题描述代码 问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 请注意,你的答案必须是 子

ryyzxf的博客 155

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

[算法Rust,Go,Python,JS实现)]LeetCode之3-无重复字符的最长子串

题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是...

图解AI 4202

3.无重复字符的最长子串 JavaScript实现(滑动窗口)

js 滑动窗口 无重复字符的最长子串 leetcode

weixin_43466639的博客 243

JavaScript实现-LeetCode刷题-【无重复字符的最长子串】-第3题 !!!

题目: LeetCode题目链接 题目截图: 解题步骤: 1.用双指针维护一个滑动窗口,用来剪切子串 2.不断移动右指针,遇到重复字符,就把左指针移动到重复字符的下一位 3.过程中,记录所有窗口的长度,并返回最大值 代码: /** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function (s) { let l = 0; // 左

帅帅邬同学的博客 366

无重复字符的最长子串

leetcode3 无重复字符的最长子串 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。 请注意...

求知若饥,谦卑若愚 115

LeetCode--3.无重复字符的最长子串

LeetCode–3.无重复字符的最长子串 难度 中等 题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 题目详情 var lengthOfLongestSubstring = function(s) { if(s === "") return 0; var set = new Set([s[0]]); let length = s.length; le...

qq_42918934的博客 115

力扣(LeetCode):#3-无重复字符的最长子串

文章目录力扣(LeetCode):#3-无重复字符的最长子串题目描述:题解:方法一:滑动窗口 力扣(LeetCode):#3-无重复字符的最长子串 题目描述: 题解: 方法一:滑动窗口 C++ class Solution { public: int lengthOfLongestSubstring(string s) { // 哈希集合,记录每个字符是否出现过 unordered_set<char> occ; int n = s.s

忘尘丶莫负的博客 371

力扣-3. 无重复字符的最长子串(滑动窗口法)

力扣-3. 无重复字符的最长子串(滑动窗口法)力扣-3. 无重复字符的最长子串滑动窗口解题过程 力扣-3. 无重复字符的最长子串 来源:力扣 链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

shao_xuan_的博客 4333

Leetcode 3.无重复字符的最长子串 JavaScript (Day 4)

【代码】Leetcode 3.无重复字符的最长子串 JavaScript (Day 4)

Loving CS ~ 168

2022.04.08 无重复字符的最长子串

题目地址(3. 无重复字符的最长子串) https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的

weixin_47267285的博客 93

滑动窗口算法实战:无重复字符最长子串详解与多语言实现

滑动窗口算法是一种高效的字符串处理技术,通过维护动态窗口来优化子串查找性能。其核心原理是利用双指针定义窗口边界,右指针扩展窗口,左指针在检测到重复字符时收缩窗口,确保窗口内字符唯一性。这种算法将时间复杂度从暴力解法的O(n³)优化到O(n),在字符串处理和大数据分析中具有重要价值。实际应用场景包括文本编辑器中的最长唯一序列查找、数据流异常模式检测以及生物信息学中的DNA序列分析。针对无重复字符的最长子串问题,算法通过哈希表记录字符位置实现高效重复检测,本文提供了Python、Java、C++和JavaScr

weixin_33845881的博客 531
上一篇: 2. 两数相加(JS实现)
下一篇: 5. 最长回文子串(JS实现)
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值