- 博客(26)
- 收藏
- 关注
原创 多源BFS最短路---矩阵 | 飞地的数量 | 地图中的最高点 | 地图分析
多个起点同时入队,适合求到最近目标点距离先找到边界的1,多源bfs逐层标记,最后再找飞地。多源bfs,将寻找最高地问题转化为,寻找距离水源最远地的问题。所有陆地都是多源起点,距离初始为0,bfs逐层扩散,每走一层距离+1。
2026-06-22 12:32:15
252
原创 bfs最短路径---单词接龙 | 为高尔夫比赛砍树
bfs队列+哈希表,将单词接龙抽象为无权图最短路,利用BFS 逐层扩展,配合哈希集合快速判存,并通过逐位暴力替换动态生成邻居。遍历网格收集所有树 → 按高度升序排序当前位置初始 (0,0),总步数 = 0对每一棵排序后的树: 1. BFS 求当前点到树坐标最短距离 2. 不可达 → return -1 3. 可达,步数累加,更新当前坐标所有树遍历完毕,返回总步数。
2026-06-20 10:05:58
170
原创 计算机网络 第五章 运输层
运输层为应用层提供端到端的通信服务。网络层实现的是主机与主机之间的通信,而运输层在此基础上,实现两台主机内部应用进程与应用进程的端到端通信,是真正面向用户应用的通信层级。UDP 在 IP 无连接服务的基础上,仅新增复用分用和差错检验两项基础功能,结构极简、开销极低。面向连接:数据传输前必须建立专属连接,传输结束后释放连接。点对点通信:一条 TCP 连接仅存在两个通信端点,仅支持一对一传输。可靠交付:通过确认、重传、校验等机制,保证数据无差错、不丢失、不重复、按序到达。全双工通信。
2026-06-16 11:01:44
314
原创 计算机网络 第四章 网络层
原理:基于 IP 地址前缀构建二叉树,逐位匹配前缀,判断网络地址是否匹配,匹配成功则转发分组。补充:ARP 仅用于同一局域网内的地址解析,解析过程自动完成,用户无感知。数据层面逻辑简单,控制层面复杂度更高,因为路由表的生成需要多台路由器协同工作,不同路由选择协议定义了不同的协同规则。部分网络架构存在逻辑上集中的远程控制器,统一掌握全网主机与网络状态,为分组计算最优路由,并在路由器中生成转发表。报文构造:提取出错 IP 数据报的首部 + 前 8 字节数据,结合 ICMP 首部,组成差错报告报文。
2026-06-15 20:41:40
415
原创 bfs最短路径---迷宫中离入口最近的出口 | 最小基因变化
利用bfs队列来实现四个方向移动,记录入口到出口的最小距离使用bfs+队列,基因变换一次,step+1,最短的step即为所求。
2026-06-15 20:19:16
199
原创 bfs+floodfill---图像渲染 | 岛屿数量 | 岛屿的最大面积 | 被围绕的区域
bfs,利用对列来解答;dfs,利用递归来解答。bfs队列,四个方向进行搜索。bfs+队列,从队头取元素,四个方向遍历,如果是1则入队,面积+1.利用bfs先找出安全的O,标记之后再遍历数组,将剩下的O变成X,最后将#换回O。
2026-06-13 11:43:30
209
原创 priority_queue---最后一块石头重量 | 数据流中的第 K 大元素 | 前K个高频单词 | 数据流的中位数
利用大顶堆,将最大的元素置于堆顶,接下来只需要将堆顶元素弹出堆即可,若弹出的两个最大元素不相等,则相减并插入堆,循环最后即可求出答案。用小顶堆,堆里只存k个最大的元素,堆顶就是我们要找的第k大元素。哈希表存单词和频率,TOPK小顶堆实现频率前k大的数,弹出倒序即可求出建立大顶堆和小顶堆,让中位数始终落在两个堆的堆顶,查询中位数就仅需取堆顶。
2026-06-08 08:56:24
210
原创 队列 + bfs --- N 叉树的层序遍历 | 锯齿形层序遍历 | 二叉树最大宽度 | 每个树行中找最大值
队列的定义创建入队出队,存入树的节点数据,层序遍历存进结果数组。队列的定义创建入队出队,存入树的节点数据,层序遍历存进结果数组,每层遍历完,取反标记,切换遍历方向。队列层序遍历,给每一层的数编号,用right - left + 1来计算出每一层宽度bfs层序遍历二叉树,找出每一层最大的数,存入结果数组即可。
2026-06-03 10:29:26
231
原创 计算机网络 第三章 数据链路层
就相当于在M后面加n个0,得到(k+n)位数 除以 双方商定的长度为(n+1)位的除数P,得出商是Q而余数是R(n位,比P少一位)。如果运行的是IP协议,则对PPP链路的每一端配置IP协议模块时要使用NCP支持的IP控制协议IPCP,IPCP封装成PPP帧,在链路上传送。过程:发送端划分组,每组k比特。但当数据是非ASCII码的文本文件时,数据链路层会错误地找到“帧的边界”,把部分帧收下,剩下数据丢弃。建立LCP连接之后进入“鉴别”,这一状态只能传送LCP协议的分组,鉴别协议的分组和监测链路质量的分组。
2026-06-02 09:49:46
215
原创 计算机网络 第二章 物理层
将时间划分为一段段等长的时分复用帧(TDM帧),每一路信号所占用的时隙周期性(T=TDM帧长度)出现。进行调制,把频率范围搬到更高的频段去,转化为模拟信号,就能更好在模拟信道中传输了。在W的低通信道中,若不考虑噪声,码元的最高速率是2W(码元/秒)。超过此上限就会出现严重。但是:ADSL并不用于企业,企业用的是ADSL变型SDSL,DSL,HDSL,VDSL。基带信号分编码(基带调制)和载波调制(带通调制),曼彻斯特编码用于以太网。家用:ADSL(电话线)、HFC(有线电视网)、FTTx(光纤接入)。
2026-05-28 17:14:15
156
原创 Go语言入门---Go语言圣经1
命令行参数os.Args是用户参数循环:Go 只有 for,推荐for range空标识符扔掉不用的值字符串拼接:大量拼接用变量声明:函数内优先:=,简洁高效。
2026-05-28 11:45:31
332
原创 栈---删除相邻重复项 | 比较退格的字符串 | 基本计算器II
利用压入栈,找出重复项直接舍去利用栈的思维,遇到#将前一个压入栈的元素删去用栈处理高优先级运算;减法转负数,最后统一求和;必须处理末尾空格和除法向零取整两个坑。
2026-05-27 17:45:08
297
原创 计算机网络 第一章 概论
网络的网络”:网络把许多计算机连接在一起,而互联网则把许多网络通过一些路由器连接在一起。与网络相连的计算机成为主机。互联网基础结构发展三个阶段:①ARPANET,单个分组交换网②三级结构互联网:主干网、地区网、校园网。③全球范围多ISP结构的互联网ISP其实就是中国电信、中国联通、中国移动等互联网提供者IXP是互联网交换点,主要作用是允许两个ISP网络直接相连并交换分组,使得网络资源更有效和更经济地被利用。
2026-05-26 14:49:30
321
原创 字符串--- 最长公共前缀 | 最长回文子串 | 二进制求和
只需要以第一个字符串作为基准作为前缀,与后面的字符串进行比较,不等时或遍历完时即可找到最长公共前缀。暴力 分成两部分:①找到回文字符串 ②找到最长的回文字符串①利用对撞双指针,首尾相同为回文字符串②枚举遍历字符串,找出回文字符串与已记录最长长度作比较中心扩展算法:从中间开始,往两边扩展,如果相同则为回文子串同样分成两种:①中心为奇数 ②中心为偶数二进制相加从右往左加,总和等于当前位之和再加上进制,再模2存入结果。
2026-05-25 15:09:33
373
原创 哈希表---两数之和 | 字符重排 | 存在重复元素 i ii | 字母异位词分组
利用哈希表寻找target - nums[i]即可找出答案利用哈希表的思维,两个哈希表相同则符合题意哈希表存数据,遍历哈希表,若有重复则返回true哈希表存放数组元素,查找是否出现重复元素,看是否下标之差是否在<k的范围内。哈希表存放字符串数组,将排序后的字符串字符作为key。
2026-05-20 10:57:38
419
原创 哈希表(Hash Table)
哈希表依托数组和哈希函数实现快速存取,哈希表凭借高效的查询性能,成为不可或缺的基础数据结构。掌握其原理与实现方式,对程序优化和算法解题都有重要意义。
2026-05-18 09:45:36
39
原创 分治—快排---颜色分类 | 快速排序 | 数组中的第K个最大元素 | 库存管理 III
分治思路,分而治之,将难处理的数组转化成三部分,分别将对应的值塞进去即可。本题利用分治策略三路快排将数组分成0,1,2即可解答。215. 数组中的第K个最大元素分治降序快排,再输出前k个数。分治思路,三路快排。
2026-05-13 17:04:50
332
原创 模拟---替换所有的问号 | 提莫攻击 | Z 字形变换 | 外观数列
找到问号后,在26个字母里找既不等于左边又不等于右边的字母,直接替换分成两种情况,两次攻击间隔大于 或 小于 中毒时长,大于则直接加duration,小于则直接加间隔,最后需要再补一个duration。遍历每个周期,先取每行竖字符;中间行再用公式算出斜字符,不越界就加入结果。迭代生成外观数列,双指针统计连续字符次数,次数加字符生成字符串。
2026-05-07 11:28:22
392
原创 位运算---丢失的数字 | 两整数之和 | 只出现一次的数字 II
可以通过数学求和法,也可以用位运算(异或)。利用异或来算无进位之和,利用<<来得出进位值计算二进制位每一位出现次数,对3取模,当前位数就是结果位的数。
2026-04-28 17:33:13
300
原创 前缀和---一维/二维模板 | 寻找数组的中心下标 | 除自身以外数组的乘积
前缀和,设置一个从0到i的数组s[i],再将题目描述变成有关s[i]的问题。前缀和,由一维到二维,由点到面,核心思路就是,预处理矩形的总和,利用容斥原理算子矩阵和前缀和思路,左和等于右和,先计算总和(预处理),右和可以用总和 - 左和 - nums[i]前缀积和后缀积,计算当前数左右乘积之和即可。前缀和思路的进阶,前缀和需要灵活应用,不能死套模板。
2026-04-23 15:50:38
367
原创 滑动窗口---水果成篮、字符串中所有字母异位词、串联所有单词的子串
滑动窗口,保证窗口内水果类型只有两种,并保证窗口最大固定长度滑动窗口,哈希表记录字符出现次数固定长度滑动窗口,哈希表记录单词出现次数,步长为单词长。
2026-04-16 11:44:42
409
原创 滑动窗口---长度最小的子数组、无重复字符的最长子串、最大连续1的个数 III、将 x 减到 0 的最小操作数
滑动窗口,右指针遍历数组,扩窗口;左指针保证窗口尽可能小,缩窗口。滑动窗口,实时记录已出现字符,保证滑动窗口尽可能大滑动窗口,使窗口内零的个数小于等于k,窗口尽可能大正难则反,先算出总和,减去x,得出目标值target,转化为滑动窗口问题。
2026-04-10 10:15:58
370
原创 对撞双指针---盛最多水的容器、三数之和、四数之和
木桶原理,短的一边决定面积,对撞指针计算当前面积与已存面积进行比较,直到找出最大面积固定一个数,对撞双指针找三数和为0,优雅实现排序+去重固定两个数个数,对撞双指针找四数和为target,优雅实现排序+去重。
2026-04-03 11:18:36
343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅