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

js一刷法一(布尔集合)

javascript 复制代码
var lengthOfLongestSubstring = function (s) {
    let idx = new Set();
    let i = 0;
    let len = 0;

    for (let j = 0; j < s.length; j++) {


        while (idx.has(s[j])) {
            idx.delete(s[i]);
            i++;
        }

        idx.add(s[j]);
        len = Math.max(len, j - i + 1);
    }

    return len;
};

js一刷法二

javascript 复制代码
/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function (s) {
    let idx = new Map();
    let i = 0;
    let len = 0;

    for (let j = 0; j < s.length; j++) {


        while (idx.get(s[j])) {
            idx.set(s[i], idx.get(s[i]) - 1);
            i++;
        }

        idx.set(s[j], (idx.get(s[j]) ?? 0) + 1);
        len = Math.max(len, j - i + 1);
    }

    return len;
};

核心思想:滑动窗口
语法细节: (idx.get(sj) ?? 0),如果左边是false的话返回0,否则返回idx.get(sj)

相关推荐
江畔柳前堤8 小时前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
Forever Nore9 小时前
LeetCode 4 寻找两个正序数组的中位数 - 二分
算法·leetcode
罗西的思考10 小时前
【OpenClaw具身硬件】MiniClaw 阅读笔记---(1)基础
人工智能·算法·机器学习
蛋先生DX11 小时前
大模型参数存储格式揭秘:BF不是男朋友
深度学习·算法·llm
avi911112 小时前
[AI教做人]AI平台做2项目;一个3D模型展示,另一个框架多人
javascript·人工智能·ai·3d模型·3d引擎·顶点和法线
爱跳舞的烤冷面12 小时前
自学嵌入式第22天(数据结构——哈希)
数据结构·算法·哈希算法
kyriewen12 小时前
我用Claude Code两天干完了团队两周的排期——周报发出去那一刻我就后悔了
前端·javascript·ai编程
猎嘤一号12 小时前
博弈论(Game Theory)的理论、算法与工程
人工智能·算法·安全·博弈论
月光船幽幽12 小时前
影子模式下保护 logits 不被修改
人工智能·python·算法
马拉AI12 小时前
腾讯开源 Agent 记忆系统,AI“换对话就忘”的问题有了新解法(附安装使用教程)
人工智能·算法·开源·科研