当前位置: 首页 > article >正文

Hot100部分

普通数组最大子数组和dp[i]表示以第 i 个元素结尾的最大子数组和通过判断前序子数组和是否为正dp[i -1]0决定是否延续合并区间排序贪心 所有区间按左端点升序排序再遍历区间若当前区间与结果列表中最后一个区间重叠则更新其右端点为两者最大值否则直接加入结果列表轮转数组先将数组整体反转再分别反转前 k 个元素和剩余元素k 对数组长度取模通过三次反转实现数组向右旋转 k 步的效果除了自身意外的数组的乘积先正向遍历数组将每个元素左侧所有数的乘积存入结果数组再反向遍历累积右侧所有数的乘积与结果数组中对应位置的左侧乘积相乘得到每个元素除自身外的乘积缺失的的第一个数组哈希归位通过原地交换将数组中 1~n 范围内的正整数归位到其对应位置数值 x 对应下标 x-1再遍历数组找到第一个位置与数值不匹配的下标 1 即为缺失的最小正整数若全部匹配说明缺失的是 n1。链表相交链表两个指针分别从两个链表头节点出发遍历完自身链表后跳至另一链表的头节点继续遍历当两指针相遇时相遇节点即为两链表第一个相交节点反转链表借助 pre和 cur双指针遍历链表通过临时变量tmp保存 cur 的下一个节点逐个将 cur 的 next 指向 pre 完成节点反转回文链表先通过快慢指针找到链表的中间节点反转中间节点开始的后半段链表再将原链表前半段与反转后的后半段逐个比对节点值全部相等则为回文链表否则不是环形链表快慢指针相遇则有环环形链表Ⅱ和技巧里寻找重复数一样先用快慢指针找到环内相遇点再让头指针与慢指针从起点和相遇点同步单步移动二者相遇的位置即为环的入口合并两个有序链表mergeTwoLists函数直接合并比较l1和l2的头结点哪个大两数相加借助虚拟头节点构建结果链表循环累加两个逆序链表的对应节点值与进位逐位通过取余得到当前位结果、取商更新进位直至链表遍历完毕且无进位最终返回虚拟头节点的下一个节点删除链表的倒数第n个节点想象一把尺子也要创建一个虚拟头结点防止删第一个元素长度为n从左到右平移尺子左端点就是倒数第n个两两相交链表的节点递归链表为空或仅含一个节点” 为终止条件将整体问题拆解为 “处理当前前两个节点” 和 “递归处理剩余子链表” 两部分K个一组翻转链表统计链表总节点数以哨兵节点dummy为辅助循环将链表按每 k 个节点为一组进行反转每组反转完成后重新拼接该组与前后链表随机链表的赋值通过 HashMap 建立原链表节点与仅复制了值的新节点的一一映射关系再遍历原链表利用该映射为每个新节点设置对应的 next 和 random 指针指向新节点而非原节点排序链表基于归并排序的分治思想先通过快慢指针找到链表中点递归将链表拆分为左右子链并各自排序再合并两个有序子链表得到整体有序的链表合并k个升序链表链表排序1个循环用ans维护结果LRU缓存LRU 缓存是遵循「最近最少使用」淘汰规则的缓存结构缓存容量满时会淘汰最久未被访问的元素保证常用数据优先留存解题核心是利用LinkedHashMap的插入 / 访问有序性通过 “删除再插入” 将访问 / 更新的元素标记为最近使用移至链表尾部容量满时删除链表头部的最久未用元素二叉树前面的题目都是简单dfs二叉树的直径后序遍历递归计算每个节点的左右子树深度同时记录以该节点为拐点的路径最大节点数层序遍历BFS队列实现二叉树的层序遍历先将根节点入队每次循环获取当前队列大小即当前层节点数遍历处理当前层所有节点并收集值同时将子节点入队二叉树的右视图同层序遍历将有序数组转化为二叉搜树和链表类似都是用分治递归但是链表找中点要快慢指针选取有序数组的中间元素作为当前子树的根节点递归将左半区间数组构建为左子树、右半区间数组构建为右子树验证二叉搜索树利用特性中序遍历结果严格递增二叉搜索树第k小的元素利用二叉树中序遍历结果严格递增特性进行中序遍历遍历过程中对节点计数通过递减 k 实现当 k 递减至 0 时当前节点值即为第 k 小的元素二叉树展开为链表先前序遍历将二叉树的所有节点按顺序存入列表再遍历列表重新拼接节点将每个节点的左子树置空右子树指向列表中的下一个节点从前序与中序遍历构造二叉树用哈希表存储中序遍历的元素索引前序遍历的首个元素作为当前根节点根据根节点在中序数组中的位置分割左右子树递归构建整棵二叉树。路径总和Ⅲ通过前缀和 DFS 回溯遍历二叉树用哈希表记录前缀和出现次数快速统计和为目标值的路径数量递归后回溯保证分支独立。二叉树的最近公共祖先递归终止条件为遇到空节点、p 或 q 节点直接返回当前节点。分别遍历左右子树单侧无结果返回另一侧两侧均有结果则当前节点为最终答案二叉树的最大路径和采用后序递归遍历以每个节点为路径最高点计算左 右 自身的路径和并更新全局最大值递归返回当前节点能向上提供的最大单链贡献值回溯全排列回溯算法递归枚举所有数字组合用used数组标记已选数字避免重复path记录当前排列排列填满时保存副本递归后撤销选择回溯最终穷举得到所有全排列子集通过startIndex控制只能从当前位置往后选元素避免生成重复子集递归时先把当前路径直接加入结果电话号码的组合和全排列的思路很像先建立数字与字母的映射表逐位遍历数字对应的字母并拼接拼完所有数字位就保存组合递归后撤销最后拼接的字母回溯最终穷举所有合法的字母组合组数总和先排序数组通过固定起始下标避免重复组合递归累加数值等于目标值时保存组合超过则直接终止循环最后回溯撤销选择括号生成回溯满足两个规则左括号比n小能随便加右括号比左括号少才能加总的字符数等于了2n停止动态规划爬楼梯dp[i] dp[i -1] dp[i - 2]杨辉三角每一个位置【i,j】的值为它正上方的值【i - 1,j】和它左上方【i - 1,j - 1】的值相加获得每行的第一个位置j0和最后一个位置ji直接赋值为 1打家劫舍dp[i] Math.max(dp[i - 1],dp[i -2] nums[i])注以下三个题格式化思路很橡完全平方数、零钱兑换、单词拆分完全平方数外层遍历目标数(1到n)内层遍历所有其平方小于i的数j²≤i 组成 i 的最少完全平方数个数为dp[i - j * j]的最小值 1零钱兑换外层遍历目标金额 i1 到 amount内层遍历所有硬币 coins [j]组成 i 的最少硬币个数为 dp [i - coins [j]] 的最小值 1补无法凑出的情况初始化dp的每个值均为amount1dp [amount] 超过 amount 则返回 - 1单词拆分外层遍历字符串前 i 个字符i 从 1 到 s.length ()内层遍历拆分点 jj 从 0 到 i-1若 dp [j] 为 true 且子串 s [j,i) 在字典中则 dp [i] 为 true最长递增子序列dp [i] 为以每个元素 nums [i] 结尾的最长递增子序列长度初始值为1遍历其之前所有更小的元素 nums [j] 并将 dp [i] 更新为 dp [j]1 的最大值乘积最大子数组两数组分别维护每个位置的最大值和最小值当前位置的乘积最大值为Math.max(当前值当前值*上一索引的最大值上一索引的最小值)分割等和子集转为01背包问题dp[j]记录容量 j 背包能装的最大和逆序遍历容量避免重复选数通过dp[target] target判断是否可分割最长有效括号dp[i]为以第i个字符结尾的最长有效括号长度仅当s[i]为)时更新若前一个字符是(则直接匹配加 2 并衔接前序有效长度若前一个是)则向前找匹配的(并累加嵌套 / 衔接的有效长度最终取dp数组最大值。多维动态规划*不同路径初始化后 dp[i][j] dp[i - 1][j] dp[i][j - 1];*最小路径和初始化后 dp[i][j] Math.min(dp[i - 1][j],dp[i][j - 1]) grid[i][j];注以下三题都是字符串相关的多维dp最长回文子串dp[i][j]表示字符串s中从索引i到j的子串是否为回文通过固定右边界j左边界i从0到j-1遍历若两端字符相等且内部子串s[i1..j-1]是回文则s[i..j]是回文同时记录最长回文的起始位置和长度最长公共子序列dp[i][j]表示text1前i个字符和text2前j个字符的最长公共子序列长度。遍历两个字符串若当前字符相等则dp[i][j] dp[i-1][j-1] 1否则取dp[i-1][j]和dp[i][j-1]的最大值编辑距离dp[i][j]表示将word1的前i个字符转换成word2的前j个字符所需的最少操作次数若当前字符相等则直接继承dp[i-1][j-1]无需对当前位操作若不等则取删除dp[i-1][j]1、插入dp[i][j-1]1、替换dp[i-1][j-1]1三者的最小值。技巧只出现一次的数字任何数异或0都为本身相同位异或为0不同位或为1循环异或返回多数元素排序后找中位数颜色分类双指针用 p0/p1 标记 0 和 1 的待填充位置通过先占 2 的位再反向填充 0/1的单遍历策略原地完成三色排序。下一个排列从后往前找到第一个升序对的左边界在其右侧找到比它大的最小数交换最后反转该边界右侧的元素以此得到字典序下最小的更大排列寻找重复数将数组映射为带环链表先用快慢指针找到环内相遇点再让头指针与慢指针从起点和相遇点同步单步移动二者相遇的位置即为环的入口也就是数组中的重复数

相关文章:

Hot100部分

普通数组最大子数组和dp[i]表示以第 i 个元素结尾的最大子数组和,通过判断前序子数组和是否为正(dp[i -1]>0)决定是否延续合并区间排序贪心 所有区间按左端点升序排序,再遍历区间,若当前区间与结果列表中最后一个区…...

3步掌握:终极免费文档下载神器使用全攻略

3步掌握:终极免费文档下载神器使用全攻略 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的烦恼而…...

ClaudeCode安装与使用

前言:null 一、前期准备 在开始之前,请确保你已经具备以下条件: 有 git 的环境。 有安装 Node.js(不是必须,但推荐安装以防默认安装失败,建议使用最新稳定版本)。 可以访问外网(…...

终极指南:5步实现老Mac升级最新macOS的完整方案

终极指南:5步实现老Mac升级最新macOS的完整方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher(OCLP&#x…...

缓存数据库一致性

文章目录常用的一致性策略Cache Aside旁路缓存read through或write throughwrite back写请求先写缓存还是先写数据库,写缓存还是删除缓存,怎么操作才能保证缓存和数据库的一致性?先更新缓存,再更新数据库先更新数据库,…...

汽车HiL测试与测量建模技术解析

1. 汽车HiL测试与测量建模技术概述在汽车电子控制系统开发领域,基于测量的建模(Measurement Based Modeling)已经成为现代开发流程中不可或缺的核心技术。这种方法通过采集真实系统的输入输出数据,构建精确的数学模型,…...

从基础到定制:探索 <video> 标签的 controls 与 controlslist 属性

1. 初识 <video> 标签的 controls 属性 想象一下&#xff0c;你正在搭建一个在线教育平台&#xff0c;需要让学生能够流畅观看课程视频。这时候&#xff0c;controls 属性就是你的好帮手。这个看似简单的属性&#xff0c;实际上封装了浏览器原生视频播放器的完整交互能力…...

Qwen3.5-9B开源大模型教程:从HuggingFace下载到本地WebUI上线

Qwen3.5-9B开源大模型教程&#xff1a;从HuggingFace下载到本地WebUI上线 1. 项目概述 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型&#xff0c;具备强大的逻辑推理、代码生成和多轮对话能力。最新版本还支持多模态理解&#xff08;图文输入&#xff09;和长达128K tokens…...

从K-means到DBSCAN:六种聚类算法实战场景与Python代码解析

1. 聚类算法入门&#xff1a;从超市货架到数据分群 第一次接触聚类算法时&#xff0c;我正站在超市的饮料区发呆。货架上的饮料被分门别类摆放&#xff1a;碳酸饮料、果汁、矿泉水、功能饮料...这其实就是最直观的聚类场景。在数据科学中&#xff0c;聚类算法就是帮我们完成类似…...

实战技巧:AI项目中常用的10个开源工具推荐

模型库的“一站式商店” 大模型应用的“脚手架” RAG系统的“数据管家” Ray&#xff1a;分布式训练的“调度大师” vLLM&#xff1a;大模型推理的“速度之王” Gradio&#xff1a;AI应用的“极速展示台” FastAPI&#xff1a;API服务的“高性能框架” MLflow&#xff1…...

树莓派4B+nrf52840 dongle搭建Thread边界路由保姆级教程(含常见错误排查)

树莓派4B与nrf52840 dongle构建Thread边界路由全流程解析 在智能家居和物联网领域&#xff0c;Thread协议因其低功耗、高安全性和自愈网络特性正获得越来越多的关注。作为基于IPv6的无线mesh网络协议&#xff0c;Thread能够为智能设备提供稳定可靠的连接&#xff0c;而边界路由…...

GOOSE协议深度解析:从报文帧结构到变电站实时通信实战

1. GOOSE协议在变电站自动化中的核心地位 我第一次接触GOOSE协议是在2015年参与某500kV智能变电站改造项目时。当时看到保护装置之间通过网线替代了传统的硬接线&#xff0c;心里直打鼓——这些看似脆弱的网线真能承担起保护跳闸这样的关键任务吗&#xff1f;直到亲眼目睹了断路…...

避坑指南:STM32F103多通道捕获中断冲突的5种解决方案

STM32F103多通道捕获中断冲突的实战解决方案 在嵌入式开发中&#xff0c;定时器的多通道捕获功能常用于测量脉冲宽度、频率等信号特征。STM32F103系列作为经典微控制器&#xff0c;其TIM5定时器支持四个独立通道的输入捕获。然而&#xff0c;当同时使用多个通道时&#xff0c;开…...

Linux-parted命令

创作背景Gkit部署环境的时候遇到一个报错&#xff0c;管理域准备环节报错内容如下&#xff1a;[2026-04-02 16:20:21] Error Log:Parted failed, result is [ parted: invalid token: logicError: Expecting a partition type. ] when exec: [ sudo parted -s /dev/vdb mkpar…...

从STM32F407到大疆A板:工创赛智能物流小车主控选型避坑与实战心得

从STM32F407到大疆A板&#xff1a;工创赛智能物流小车主控选型避坑与实战心得 在嵌入式竞赛的备战过程中&#xff0c;主控板的选择往往决定了整个项目的成败。作为经历过省赛和国赛双重考验的团队&#xff0c;我们深刻体会到&#xff1a;一块合适的主控板不仅能提升开发效率&am…...

Windows 下 OpenClaw 快速搭建与使用指南

前言 2026年爆火的开源AI智能体 OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;GitHub星标超28万&#xff0c;凭"本地运行零代码自动干活"圈粉无数&#xff01;本文专为小白打造&#xff0c;用自制的一键部署包&#xff0c;无需命令行、无需手动配环境&am…...

IEEE 802.3u是1995年发布的快速以太网标准,将以太网传输速率从10Mbps提升至100Mbps

本报告基于《软件设计师教程》第10章"网络与信息安全基础知识"的内容&#xff0c;结合网络资源对快速以太网&#xff08;IEEE 802.3u&#xff09;、千兆以太网&#xff08;IEEE 802.3z&#xff09;和令牌环网&#xff08;IEEE 802.5&#xff09;三大局域网标准进行详…...

OpenClaw 完整安装教程与最新版安装包

摘要&#xff1a;2026年爆火的开源AI智能体OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;GitHub星标超28万&#xff0c;凭"本地运行零代码自动干活"圈粉无数&#xff01;本文专为小白打造&#xff0c;用自制的一键部署包&#xff0c;无需命令行、无需手动…...

PowerDMIS 新建坐标系

坐标系创建按键&#xff0c;用于3-2-1坐标系/迭代坐标系/最佳拟合坐标系/偏置坐标系的命令3-2-1 法坐标系1&#xff08;PCS3-2-1法&#xff09; 适用工件&#xff1a;3-2-1法适用于具有规则形状、明确的平面、直线、孔、槽、边缘等的零件的工件坐标系创建的常用方法。 优势&…...

并发的核心特征可以概括为:**宏观上同时执行,微观上交替执行**。在多任务操作系统中,多个程序在同一时间段内同时推进

并发的核心特征可以概括为&#xff1a;宏观上同时执行&#xff0c;微观上交替执行。在多任务操作系统中&#xff0c;多个程序在同一时间段内同时推进&#xff0c;从宏观角度看用户感知到多个任务在同时运行&#xff1b;但在微观层面&#xff0c;单个CPU核心在任意时刻只能执行一…...

太空算力:下一个万亿蓝海赛道

当我们谈论算力时&#xff0c;脑海中浮现的往往是数据中心里密密麻麻的服务器机柜&#xff0c;或者高性能计算机嗡嗡作响的散热风扇。但你是否想过&#xff0c;有一天&#xff0c;算力也可以“搬”到太空去&#xff1f;2026年4月3日&#xff0c;北京经济技术开发区通明湖会展中…...

OpenAI惨遭反超,Anthropic狂吞70%新客户,Claude已开启「灵魂校准」

当企业真金白银开始从 ChatGPT 流向 Claude&#xff0c;Anthropic 打的早已不只是模型性能战&#xff0c;而是一场从工程师口碑、企业信任到「AI灵魂校准」的全面突围。 这一次&#xff0c;Anthropic真的要把OpenAI从「企业AI王座」上拽下来了。 美国企业财务卡发行商 Ramp 最…...

被AGI逼疯的硅谷天才,正在集体逃亡

OpenAI 工程师因严重精神透支辞职回国&#xff0c;撕开了硅谷 AI 圈残酷的内卷真相。在「0-0-2」极限压榨与道德焦虑双重折磨下&#xff0c;xAI、OpenAI 等巨头的核心研发骨干正掀起一场史无前例的集体逃亡。 OpenAI 工程师 Hieu Pham 终于不得不决定彻底停止工作&#xff0c;…...

Excel也能玩转熵权法?手把手教你不用编程做指标权重分析

Excel也能玩转熵权法&#xff1f;手把手教你不用编程做指标权重分析 在业务分析中&#xff0c;我们常常需要评估多个指标的相对重要性。比如产品经理需要确定用户满意度调查中各维度的权重&#xff0c;运营人员要量化活动效果评估中不同KPI的贡献度。传统的主观赋权方法容易受个…...

洛谷-算法1-7-搜索4

P1596 [USACO10OCT] Lake Counting S 题目描述 由于最近的降雨&#xff0c;水在农夫约翰的田地里积聚了。田地可以表示为一个 NM 的矩形&#xff08;1≤N≤100&#xff1b;1≤M≤100&#xff09;。每个方格中要么是水&#xff08;W&#xff09;&#xff0c;要么是干地&#x…...

11《深入解析CAN总线:数据场、控制场、CRC场逐字段精讲》

001、CAN总线协议基础与帧结构总览 从一次诡异的通信丢帧说起 上个月在调试一个电机控制节点时,遇到个怪事:总线上明明能看到正确的ID和DLC,但数据场内容偶尔会错乱。逻辑分析仪抓到的波形显示,CRC校验段居然通过了,但应用层解析出来的转速值会突然跳变。查了三天,最后…...

网络传输介质是计算机网络中连接各个节点的物理通路,是数据传输的物理基础

网络传输介质是计算机网络中连接各个节点的物理通路&#xff0c;是数据传输的物理基础。根据《软件设计师教程&#xff08;第5版&#xff09;》内容&#xff0c;传输介质主要分为有线传输介质和无线传输介质两大类&#xff0c;以下是各类介质的核心特性&#xff1a; 1. 同轴电缆…...

记一次由「进程文件描述符泄漏」引发的socket- too many open files

记一次由「进程文件描述符泄漏」引发的socket: too many open files 在运维和开发过程中&#xff0c;文件描述符泄漏是一个常见但容易被忽视的问题。当进程频繁打开文件、网络连接等资源却未正确关闭时&#xff0c;系统资源会被逐渐耗尽&#xff0c;最终导致"too many op…...

免费零投入,每月帮打工人省18小时少花200块,2026新版会议纪要模板不领亏大了

我做了五年社科访谈研究&#xff0c;前四年大半时间都耗在录音整理上&#xff0c;踩过不下十种语音转写工具的坑&#xff0c;要么准确率低改到疯&#xff0c;要么收费贵一年大几百&#xff0c;要么长音频直接卡崩溃。试了一圈下来&#xff0c;我可以明确说&#xff1a;听脑AI是…...

[具身智能-379]:如何在仿真环境进行模型的训练?模型如何获取仿真如何的数据?模型与仿真软件交换信息的标准?

一、仿真环境训练模型的标准流程无论使用强化学习&#xff08;RL&#xff09;、监督学习&#xff08;SL&#xff09;还是模仿学习&#xff08;IL&#xff09;&#xff0c;在仿真中训练都遵循以下闭环&#xff1a;1. 环境配置2. 定义交互接口3. 构建训练循环4. 并行加速5. 评估与…...