【leetcode】3.无重复字符的最长字串js版

碎碎念

好吧我收回上一篇的话,其实用起来也还行吧。

做这题也是有点笨了哈就这样把滑动窗口忘得一干二净,但是现在想起来了!第一遍用set运气好过了样例,后面怎么改都不对;第二遍想起来写滑动窗口了但是就这样一口气遍历到最后只记住了最后一个子串的长度,我还疑惑居然没有更新ans...

犯蠢到此结束!接下来是正确的滑动窗口!

题目

答案

javascript 复制代码
/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
    let left = 0
    const arr = [...s]
    let ans = 0
    const st = new Set()
    for (let right = 0 ; right < arr.length ; right++) {
        const val = arr[right]
        while (st.has(val)) {
            st.delete(arr[left])
            left++
        }
        st.add(val)
        ans = Math.max(ans, right - left + 1)
    }
    return ans
};
相关推荐
微风欲寻竹影1 小时前
Java数据结构——二叉树(Binary Tree)详解
java·数据结构·算法
smith成长之旅1 小时前
08 | Mem0 框架分析: BM25 的 Sigmoid 归一化
数据库·python·算法
dongf20191 小时前
R 语言随机森林算法
算法·随机森林·r语言
AZaLEan__1 小时前
图论:拓扑排序
算法·深度优先
悠仁さん1 小时前
数据结构 排序
数据结构·算法·排序算法
阿文的代码库1 小时前
机器学习之精确率和召回率的关系
人工智能·算法·机器学习
Raink老师1 小时前
【AI面试临阵磨枪-100】Harness 与 MCP/A2A 协议、Skill 体系如何集成?
人工智能·面试·职场和发展
我爱cope1 小时前
【Agent智能体21 | 构建AI工作流的技巧-优化组件的常用方法】
人工智能·设计模式·语言模型·职场和发展
咸鱼翻身小阿橙1 小时前
高斯模糊降噪/磨皮算法降噪图像
前端·opencv·算法·webpack·c#