有效的括号、合并数组区间、无重复最长字符串长度
算法练习day11、有效的括号思路使用栈数据结构。遍历字符串中的每个字符如果是左括号(、[、{则将其压入栈中。如果是右括号)、]、}则检查栈是否为空以及栈顶元素是否与当前右括号匹配的左括号。如果匹配则弹出栈顶元素否则字符串无效。遍历结束后如果栈为空说明所有括号都正确匹配字符串有效否则无效。function isValid(s) { // 栈 const stack [] const map { ): (, ]: [, }: {, } for (let char of s) { // 匹配右括号 if (map[char]) { // 栈空或者栈顶不匹配 if (stack.length 0 || stack.pop() ! map[char]) { return false } } else { stack.push(char) } } return stack.length 0 } console.log(isValid({()()[]}))2、合并数组区间思路合并重叠区间。首先将所有区间按照起始位置进行排序。初始化结果数组将第一个区间放入结果中。从第二个区间开始遍历如果当前区间的起始位置小于等于结果数组中最后一个区间的结束位置说明两个区间重叠则合并它们更新最后一个区间的结束位置为两者结束位置的较大值。如果不重叠则将当前区间直接加入结果数组。遍历完成后结果数组即为合并后的不重叠区间集合。function merge(arr) { // 数组为空 // if(arr.length 0) return [] arr.sort((a, b) a[0] - b[0]) let res [arr[0]] for (let i 1; i arr.length; i) { const last res[res.length - 1] const curr arr[i] if (curr[0] last[1]) { // 合并重叠 last[1] Math.max(curr[1], last[1]) } else { res.push(curr) } } return res } console.log( merge([ [1, 7], [2, 6], [8, 15], ]), )3、无重复最长字符串长度思路使用滑动窗口双指针和集合。使用两个指针 left 和 right 表示当前窗口的左右边界初始都指向字符串开头。使用一个集合来存储当前窗口中的字符保证无重复。右指针 right 向右移动将字符加入集合如果加入的字符导致集合中出现重复则移动左指针 left并从集合中删除 left 指向的字符直到重复字符被移除。在每次右指针移动后计算当前窗口长度right - left 1并更新最大长度 maxLen。遍历结束后maxLen 即为无重复字符的最长子串长度。function longlength(str) { // 滑动窗口双指针 let left 0 let maxLen 0 const set new Set() for (let right 0; right str.length; right) { while (set.has(str[right])) { set.delete(str[left]) left } set.add(str[right]) maxLen Math.max(maxLen, right - left 1) } return maxLen } console.log(longlength(abcab))

相关新闻

如何快速掌握浏览器请求控制:Header Editor免费终极指南

如何快速掌握浏览器请求控制:Header Editor免费终极指南

如何快速掌握浏览器请求控制:Header Editor免费终极指南 【免费下载链接】HeaderEditor Manage browsers requests, include modify the request headers, response headers, response body, redirect requests, cancel requests 项目地址: https://gitcode.com/g…

2026/8/9 15:07:06 阅读更多 →
OpenCore Legacy Patcher技术深度解析:让老旧Mac重获新生的架构设计与实现原理

OpenCore Legacy Patcher技术深度解析:让老旧Mac重获新生的架构设计与实现原理

OpenCore Legacy Patcher技术深度解析:让老旧Mac重获新生的架构设计与实现原理 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 在苹果生态系统中&…

2026/8/9 9:35:14 阅读更多 →
Data-Copilot:基于LLM的智能数据分析工作流自动化框架解析

Data-Copilot:基于LLM的智能数据分析工作流自动化框架解析

1. 项目概述:当LLM成为你的专属数据分析师最近在翻看一些前沿的AI论文,发现一个特别有意思的项目,叫Data-Copilot。光看名字就很有感觉——“数据副驾驶”。这可不是一个简单的聊天机器人,它瞄准的是一个非常具体且痛点十足的领域…

2026/8/8 11:57:00 阅读更多 →

最新新闻

课题组超算上的module模块-只为方便自己查看

课题组超算上的module模块-只为方便自己查看

一、module命令 module purge module load XXX module unload XXX二、机群上的模块 华东四区山东 #华东四区山东 ------------------------- /work/home/ln2026/apprepo/modules -------------------------- lammps-22Jul2025-oneapi2024.0.1--------------------------- /p…

2026/8/11 15:17:44 阅读更多 →
800G光模块PCB量产质控标准详解

800G光模块PCB量产质控标准详解

800G 光模块 PCB 属于高阶 HDI 高频制品,设计方案达标不代表量产性能稳定,压合涨缩、蚀刻偏差、盲孔缺陷、表面工艺瑕疵都会累积影响高频传输效果。本文从前置制程管控、表面工艺规范、出厂测试项目三个维度,梳理完整量产质控体系&#xff0c…

2026/8/11 15:17:44 阅读更多 →
CS Demo Manager完整指南:从游戏录像到战术洞察的专业分析工具

CS Demo Manager完整指南:从游戏录像到战术洞察的专业分析工具

CS Demo Manager完整指南:从游戏录像到战术洞察的专业分析工具 【免费下载链接】cs-demo-manager Companion application for your Counter-Strike demos. 项目地址: https://gitcode.com/gh_mirrors/cs/cs-demo-manager 你是否在CS:GO或CS2比赛后&#xff0…

2026/8/11 15:17:44 阅读更多 →
GEO优化服务商推荐:实朴科技的高性价比之道

GEO优化服务商推荐:实朴科技的高性价比之道

前言2026年,GEO(生成式引擎优化)市场规模预计跃升至30亿元,从“试点”正式进入“主预算池”。然而,315晚会曝光的AI投毒乱象让行业经历了一次信任危机。在价格从3000元到10万元/月不等的GEO服务市场中,企业…

2026/8/11 15:17:44 阅读更多 →
开发者如何量化评估项目完成度与市场价值:从练手到接单的工程化路径

开发者如何量化评估项目完成度与市场价值:从练手到接单的工程化路径

1. 这篇文章真正要解决的问题 当你在社交媒体上看到“这个程度可以接几张草稿大头吗ww,希望有天使女孩帮我定价,不过想先多扩容一些素材练几张无偿,爱泥萌( *`ω)”这样的标题时,第一反应可能是困惑。这看起来像是一位…

2026/8/11 15:17:44 阅读更多 →
行为型设计模式:策略、观察者与责任链实战解析

行为型设计模式:策略、观察者与责任链实战解析

1. 行为型模式的核心价值与定位 在软件工程领域,设计模式是解决特定场景下重复出现问题的经典方案。行为型模式作为三大模式类别之一(创建型、结构型、行为型),主要关注对象间的职责分配和算法抽象。与创建型模式关注对象实例化、…

2026/8/11 15:16:43 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →