自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (1)
  • 收藏
  • 关注

原创 栈之合法括号字符串(RBS)

本文总结了力扣平台中关于括号匹配问题的7最长有效括号等经典算法题的解题思路。主要包括: 基础题型:通过栈*记录嵌套遇到右括号则处理,如921题(最小添加次数使括号有效)和1249题(移除无效括号)。 2种方法处理嵌套结构:如856题(括号分数计算)利用深度计数,678题(带星号的括号验证)使用双栈策略。 特殊场景: 1541题(平衡插入次数)需要考虑右括号连续情况,1963题(最小交换次数)使用贪心策略。 所有解法都围绕栈或计数器原理展开,通过维护括号匹配状态来解题,时间复杂度均为O(n)。不同题目根据具体

2025-10-01 22:45:05 824

原创 栈之邻项消除

文章摘要:本文介绍了栈在字符串处理问题中的应用,通过多个力扣题目展示了栈解决相邻字符匹配、子串删除等问题的思路。主要包括:1)使用栈处理AB/CD子串删除;2)环形字符串中相邻字符的移除;3)通过栈验证"abc"插入操作的有效性;4)美化数组时的最少删除数计算;5)k长度相邻重复项的删除;6)小行星碰撞模拟。各解法均利用栈的LIFO特性高效处理相邻元素关系,时间复杂度多为O(n)。代码实现清晰展示了栈在处理包含关系和最近元素匹配问题中的优势。

2025-09-28 17:38:14 580

原创 栈的进阶篇

本文总结了栈结构在算法题中的典型应用场景。主要内容包括:1) 处理字符串中星号删除问题,通过维护26个字母位置数组实现高效删除;2) 实现最小栈功能,使用辅助栈记录最小值;3) 函数调用时间统计,利用栈模拟调用过程;4) 使用栈结构生成字典序最小字符串,通过比较栈顶和后缀最小字符实现最优解。这些案例展示了栈在处理嵌套、递归、最小值和顺序控制等问题上的优势,特别适合解决具有完全包含关系的问题。

2025-09-25 23:59:17 421

原创 栈的基础篇

本文总结了栈在算法题中的应用,包含6道力扣题目解析: 1441题用栈操作构建数组,通过模拟栈实现目标数组; 844题比较含退格的字符串,使用栈处理退格操作; 1472题设计浏览器历史记录,用动态数组模拟栈行为; 946题验证栈序列,模拟入栈出栈操作; 3412题计算字符串镜像分数,提供哈希表和栈两种解法; 71题简化Unix路径,利用栈处理路径组件。所有解法均采用C++实现,展现了栈"后进先出"特性在处理包含关系问题中的优势。

2025-09-24 16:59:20 368

原创 一维差分(扫描线)之区间重叠

本文介绍了四种处理区间重叠问题的算法:1. 合并区间(56题):先排序后遍历合并重叠区间;2. 插入区间(57题):先插入再排序合并;3. 日程安排III(732题):用差分哈希表动态统计最大重叠数;4. 最少分组(2406题):差分哈希表求最大重叠数决定最小分组。核心思路都是通过排序或差分标记处理区间重叠问题,其中差分法适用于动态统计场景。

2025-09-22 23:51:26 202

原创 一维差分(扫描线)进阶篇

本文介绍了差分数组在解决区间修改问题中的应用,通过多个例题展示了差分算法的核心思路和实现方法。主要内容包括:1.差分算法适用于区间修改、最终查询或多次区间修改后单次查询的场景;2.以分割正方形、字母移位、K连续位翻转等例题为例,详细说明差分数组的建立和前缀和计算过程;3.针对不同问题特性,提出了扫描线、二分查找等优化方法;4.特别强调了在浮点数处理和模运算等场景下的实现细节。文章通过具体代码实现,展示了差分数组在降低时间复杂度方面的优势,为处理类似问题提供了实用参考。

2025-09-22 10:24:31 1141

原创 一维差分(扫描线)基础篇

本文介绍了差分算法的核心思路和应用场景。差分数组通过区间标记和前缀和运算,能高效处理区间修改和单次查询问题。核心公式为d[i] = a[0], a[i] - a[i-1] (i≥1),通过累加d中的元素可还原原始数组。 文章列举了7个典型应用场景: 计算路线覆盖点(2848题) 检查区间覆盖(1893题) 统计最高人口年份(1854题) 设备测试计数(2960题) 拼车座位检查(1094题) 航班座位统计(1109题) 数组变换验证(3355题) 每种场景都展示了差分算法如何通过标记区间端点、计算前缀和来优

2025-09-10 17:53:51 338

原创 二维前缀和

本文总结了二维前缀和在矩阵计算中的应用,包括核心公式和典型题解。核心思路是利用前缀和矩阵快速计算任一支矩阵区间和,公式为:ans[i+1][j+1] = ans[i+1][j] + ans[i][j+1] - ans[i][j] + matrix[i][j]。区间和计算为ans[r2+1][c2+1] - ans[r2+1][c1] - ans[r1][c2+1] + ans[r1][c1]。文章提供了5道力扣题目的解法:304题(不可变矩阵求和)、1314题(k邻域求和)、1738题(异或值第K大)、32

2025-09-08 10:56:29 332

原创 前缀和之距离和

本文介绍了基于前缀和与距离和公式解决一维数组区间距离问题的算法模板。主要内容包括:1)基础模板题1685通过前缀和计算有序数组中差绝对值之和;2)2615题使用哈希表分组计算等值距离和;3)2602题利用二分法划分区间求最少操作次数;4)2968题通过二分答案和滑动窗口寻找使频率最大的最优解。核心思路是排序后利用前缀和快速计算区间和,结合二分法或滑动窗口优化效率,适用于处理数组中元素到特定点的距离和相关问题。

2025-09-02 23:19:10 541

原创 前缀和与哈希表

本文整理了基于前缀和的算法解题思路,主要涉及子数组和、异或操作、同余定理等核心技巧。包含930(和相同子数组)、974(可被K整除的子数组)、523(连续子数组和)、2588(美丽子数组)、3026(最大好子数组和)、1477(不重叠目标子数组)、1124(良好时间段)、3381(长度可被K整除的子数组)及2488(中位数为K的子数组)等题目的解法。通过哈希表记录前缀和状态,利用枚举右端点维护左端点的方式,高效解决各类区间统计问题,其中特别处理了负数取模、奇偶性等边界情况。

2025-09-02 08:27:35 788

原创 前缀和基础

本文总结了前缀和在算法题中的核心应用与典型例题。前缀和的核心公式是sum[right]-sum[left]计算区间和,适用于需要频繁计算区间和的问题。文中列举了多个力扣经典例题:303题展示了基础前缀和实现;3152题利用前缀和记录不符合条件的数量;1749题通过维护最大最小前缀和求子数组绝对值的最大值;2389题结合排序与二分查找优化子序列查询;3361题扩展代价数组处理环形字母表问题;2055题通过双向扫描处理蜡烛与盘子问题;1744题利用前缀和判断糖果分配可行性;53题展示了动态维护前缀和最小值求最大

2025-08-02 09:08:53 732

原创 枚举中间位置高级篇

【算法题解摘要】本文整理了灵神力扣题单中的三题核心解法:1. 447题通过哈希表动态统计等距点组合数,利用排列公式m*(m-1)计算回旋镖数量;2. 456题采用单调栈维护右侧元素,结合左侧最小值检测132模式;3. 3067题通过构建树图+DFS统计满足权重条件的服务器对,运用乘法原理计算组合数。三题均采用中间位置枚举策略,分别涉及哈希统计、单调栈和树形DFS等算法技巧。(149字)

2025-07-29 21:08:34 658

原创 枚举中间位置基础篇

本文介绍了基于灵神题单的算法解题思路,主要针对三元组类问题。核心方法包括:1)使用后缀表维护可能满足条件的元素;2)枚举中间元素分割左右区间。文章通过5个力扣例题展示了该模板的应用,包括山形三元组查找、特殊三元组统计、回文子序列计数、直角三角形计算和有序三元组最大值求解。这些题目均采用预处理+双指针或位运算等技巧,将时间复杂度优化至O(n)或O(n^2)。特别是利用后缀数组和前后缀分解技术,有效解决了需要同时考虑左右元素的复杂条件判断问题。

2025-07-27 10:19:43 572

原创 枚举右,维护左高级篇

本文总结了力扣平台多道算法题的解题思路,主要采用"枚举右,维护左"的核心策略。这些题目展示了如何通过维护历史信息优化计算效率,涵盖了余数统计、状态压缩、滑动窗口等多种技巧,适用于处理数组和字符串相关问题。

2025-07-24 15:28:08 716

原创 枚举右,维护左基础篇

本文总结了力扣题单中基于双变量问题的通用解法模板。核心思路是:通过维护已遍历区间(使用哈希表、集合或滑动窗口),枚举未遍历区间来优化双变量问题。

2025-07-23 09:00:03 564

原创 二分答案之第 K 小/大

本文总结了力扣灵神题单中关于二分查找解决第K小/大问题的核心思路和典型例题。核心算法采用二分查找配合检查函数,通过01模型(第K小)或10模型(第K大)确定边界。

2025-07-18 18:28:08 792

原创 二分答案之最大化最小值

将实际问题转化为二分查找问题,并通过合理的边界判断和验证函数设计来获得最优解。

2025-07-17 09:47:38 685

原创 二分答案之最小化最大值

本文整理了力扣灵神题单中的二分答案算法模板及典型例题,适用于2000分以下题目。核心为二分框架配合check函数验证条件,将最大值最小化问题转化为判定问题。

2025-07-13 12:01:18 395

原创 二分答案之求最大

为了尽可能使数组的元素之和<=maxSum且满足相邻下标元素差值为1,只能元素-1或不变,又因为只能为正整数,当到1时候只能赋值为1。每种材料单价至少一元,我算一个合金只需要1成本,最少已有材料,其他材料都大于等于它。根据每台机器需要的各种材料数量*合金数量,如果已有材料不够,需要采购。给定各个机器生成合金需要的材料数量,已有材料数量、每种材料单价,有多少钱采购。判断是否能抵达下标k的建筑物,梯子解决差值最高的建筑物,砖头解决剩下的。利用01模型找到论文引用>=k的位置,计算满足条件的论文数量是否>=k。

2025-06-25 11:20:32 999

原创 二分答案之求最小

本文总结了使用二分搜索算法解决若干力扣编程问题的模板和思路。主要内容包括: 二分搜索核心思想:通过设置合理边界和优化check函数,利用答案的单调性缩小搜索范围 通用解题模板:包括二分循环框架、check函数设计和边界处理 典型题目应用: 1283:寻找满足阈值的最小除数 2187:计算公交车完成目标旅程的最少时间 1011:确定D天内运送包裹的最低运力 875:求珂珂吃完香蕉的最小速度 475:计算供暖器最小覆盖半径 1482:制作花束所需最少天数 每个问题都给出了清晰的思路分析、check函数实现和边界

2025-06-23 16:50:25 1248

原创 计算机的性能指标(选择题0~1题无大题)

计算机的机器字长是指数据运算的基本单位长度寄存器由触发器构成计算机中一个字的长度可以为16,32,64位等,一般为8的整数倍机器字长、指令字长和存储字长,

2025-06-22 17:41:10 764

原创 二分查找进阶篇

本文总结了力扣平台10道基于二分查找的算法题解,涵盖两种二分模型(01模型和10模型)的应用场景。主要包括:1. 咒语药水配对问题(排序后使用01模型找临界值);2. 数组距离值统计(利用不等式转化后二分);3. 子序列和查询(前缀和+10模型);4. 字符串字母频率比较(预处理后二分);5. 区间数字频率查询(哈希表+双二分);6. 循环数组最小距离(添加虚拟节点处理边界);7. 公平数对统计(排序后双指针二分);8. 价格美丽值查询(维护最大值数组);9. 快照数组设计(哈希表记录历史版本);10. 最

2025-06-22 16:15:39 1090

原创 操作系统引导和虚拟机(包含os结构,选择题0~1题无大题)

层次定义好后,相当于各层之间的依赖关系也就固定了,

2025-06-16 15:58:55 1099

原创 计算机系统层次结构(选择题至多一题,无大题)

冯诺依曼机的基本工作方式是:控制流驱动方式CPU 由运算器和控制器组成。运算器包含 ALU、ACC、MQ、X、状态寄存器,负责数据运算和状态记录。控制器包含 CU、IR、PC、指令译码器,负责指令读取、解析和执行控制。地址寄存器(MAR)和数据寄存器(MDR)位于CPU内,并未集成到运算器和控制器中cpu——CaChe——内存寄存器在CPU内部,速度最快。CaChe采用高速的SRAM制作、内存常用DRAM制作,其速度比Cache慢。CaChe是一种高速存储器,用于。

2025-06-16 10:48:52 1351

原创 二分查找基础篇

二分查找算法的两种核心思想:普通二分和泛型二分(01模型和10模型)。普通二分通过不断缩小区间范围来加速查找,而泛型二分则用于解决满足条件的最大区间范围问题。

2025-06-15 01:15:08 577

原创 计算机的发展历程(了解即可)

硬件+软件计算机性能的好坏取决于。

2025-06-14 13:54:46 161

原创 操作系统结构(错题总结并入os引导与虚拟机)

实现计时功能负责实现中断机制是一种特殊的程序、处于os最底层,是最接近硬件部分、运行具有原子性(一气呵成,不可打断)、运行时间较短,调用频繁上述三个称为微内核(与硬件关联较紧密的模块)进程、存储器、设备管理(更多是对数据结构进行操作,不会直接涉及硬件)时钟管理和中断处理是程序并发的前提条件。

2025-06-14 12:57:29 914

原创 操作系统运行环境(选择题1~2题,无大题)

本文摘要:操作系统运行机制涉及核心态与用户态的转换,通过中断机制实现控制权切换。内核程序可执行特权指令,而应用程序只能使用非特权指令。系统调用是用户态程序请求内核服务的接口,需通过陷入指令触发中断转入核心态处理。中断分为内中断(异常)和外中断,分别由指令错误和外部设备触发。CPU通过中断向量表定位处理程序,处理过程需保存寄存器状态。特权指令如I/O操作只能在核心态执行,关中断等关键操作需操作系统管控。系统调用和中断处理是确保系统安全稳定的核心机制。

2025-06-11 16:40:17 1048

原创 灵神题单之滑动窗口(各类题型总结)

求连续子数组/子字符串,并且区间具有单调性。

2025-06-10 22:15:58 360

原创 恰好型滑动窗口

分别计算>=条件减去>=条件+1:ret+=head,或者变成<=条件减去 <=条件−1:ret+=i-head+1;所有元音字母至少一次,并且辅音字母长度恰好为k的条件下子字符串的数量。解开上述不等式即可获取一定等于恰好满足条件的连续区间数量。记录条件满足只有k个不同元素的子数组数量。即可获取恰好满足条件的连续区间数量。采用两个不定长滑动窗口越长越合法相减。求连续区间并且条件中需要恰好满足。

2025-06-10 15:19:19 355

原创 不定长滑动窗口(求子数组个数)

当没有一个条件满足时,缩小窗口到满足条件边缘位置即可计算出当前组合所有满足条件的子字符串。进入内循环处理后窗口头节点在满足条件的边缘,枚举那么当前位置组合到满足条件的边缘位置。给定一个二进制字符串,满足条件:0或1<=k。请统计满足条件的子字符串。求不间断子数组的数量,不间断子数组:里面任何两个元素差值不大于2。用有序哈希表(根据键进行升序排序)的哈希表来判断是否满足条件即可。记录子数组的任何元素数量都不超过cnt个的数量。即可求出所有满足条件的子数组个数。

2025-06-10 10:47:01 380

原创 操作系统的发展与分类(至多1选择无大题)

解析:采用优先级+非抢占式调度算法,既可让重要的作业/进程通过高优先级尽快获得系统响应,又可保证次要的作业/进程在非抢占式调度下不会迟迟得不到系统响应,这样有利于改善系统的响应时间。,安全可靠体现了可靠性,快速处理和及时响应体现了实时性。解析:分时系统的响应时间T的比例关系可表达为T≈ON,其中Q是时间片,而N是用户数。资源利用率高,系统吞吐量大,无法人机交互,cpu能与其他设备并行。分时系统的一个重要性能是系统的响应时间,对操作系统的。,每个用户分到的时间片就越少,响应时间自然就变长。

2025-06-08 10:07:03 480

原创 操作系统的基本概念(无选择/大题)

操作系统是管理计算机硬件和软件资源的系统软件,为用户和程序提供接口与环境。其主要功能包括文件、存储器、处理器和设备管理,通过GUI、命令接口和系统调用(程序接口)提供服务。OS具有并发性、共享性、虚拟性和异步性等特征,其中并发和共享是其基础特性。系统调用是请求OS服务的唯一方式,用户只能通过程序间接调用。操作系统不直接管理源程序或编译器,而是协调这些资源。单道程序设计具有顺序性,多道程序设计则体现制约性、间断性和共享性。在单处理机系统中,处理机与设备、设备与设备之间可以实现并行操作。

2025-06-07 19:48:17 464

原创 不定长滑动窗口(求子数组个数)

因为哈希表的缘故能遍历相同元素的集合,每次累加从头开始到当前位置元素数量-1即可。再次进入循环时,会对之前满足条件的子数组次数累加当前区间内满足条件子数组次数。当循环结束后滑窗不满足条件,而head就刚好就是满足条件的子数组的次数。统计组合数量(用哈希表记录不同元素的数量,这样就可以遍历相同元素的集合)当滑窗满足条件时进入循环缩小窗口并累加当前满足条件的子数组次数。如果当前位置不能进入循环也要加上之前记录的次数,因为越长越合法。如果当前元素不满足条件也要加上之前满足条件的数量,因为越长越合法。

2025-06-07 17:01:12 562

原创 不定长滑动窗口(求最短/最小)

不定长滑动窗口求最短/最小力扣2000分以下刷题和解析

2025-06-05 13:01:05 657

原创 不定长滑动窗口进阶版(求最长/最大)

不定长滑动窗口解法(最长/最大子数组问题)力扣2000分以下的算法练习

2025-06-03 16:41:16 446

原创 不定长滑动窗口基础篇(求最长/最大)

本文介绍了不定长滑动窗口算法的原理及其应用场景,包括求最长/最短子数组和子数组个数。核心思路是维护一个动态窗口,通过调整窗口边界来满足特定条件,同时更新最优解。

2025-05-26 16:51:49 483

原创 定长滑动窗口进阶版

多个基于定长滑动窗口的算法题目及其解题思路。

2025-05-23 10:22:23 610

原创 定长滑动窗口基础篇

滑动窗口是一种在连续数据范围内进行维护的算法,通过每次移动窗口去头添尾来更新数据。其应用场景包括对子数组、子串等连续区间的操作

2025-05-20 17:37:51 430 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除