- 博客(110)
- 收藏
- 关注
原创 【LeetCode】10. 正则表达式匹配
如果有,我们也不会单独,只会考虑当前对比的i,j的情况,因为前面子串的结果都是计算明确的,只需要考虑当前的状态。这应该是一道比较难的题目,毕竟通过率只有30%,在leecode里也是比较少见的吧,就我而言。,这个会导致其前一个字符,存在三种不同的状态,所以,这才是DP要考虑的关键问题。的子状态,这个问题是需要判断是否完全匹配,一个问题都可以由其子问题转移得到。一个DP问题,需要先确定状态,需要结合问题设置状态,的情况,另外两种不等的情况,必然不可能的是相等的。这是一个二维的线性DP问题,有。
2025-11-28 15:36:41
346
原创 【LeetCode】49. 字母异位词分组
第二个方法编码出来的key长度是远小于字符串的长度,而快排出来的关键字就是字符串。找到不同排列但字符种类与个数一致的字符串并进行归类。再使用哈希容器进行记录,即可。总体来说,第二个方法要更优秀。
2025-10-30 10:23:33
315
原创 【Linux】高级I/O
AIO是内核提供的系统调用,不是一个内核进程,不占用 CPU 时间片,其请求处理逻辑(如调度 IO 设备、数据传输)是 “附着” 在 IO 设备驱动的中断上下文或内核工作队列(Work Queue)中执行的。,非阻塞型IO会立即返回,然后被应用进程循环调用,但是轮询要频繁的访问内核中的文件描述符等资源,非常消耗cpu的资源,一般不这样做。的一种,虽然在等待数据准备完成是异步的,但是将数据从内核拷贝到用户,还是应用进程在执行,并且需要。在这两个阶段都不是进程处理,都是内核完成的,所以其是异步。
2025-09-28 22:49:23
378
原创 【LeetCode】2349. 设计数字容器系统
功能1可以考虑使用堆(priority-queue),但是要查找指定的元素并删除,则需要挨个弹出并修改。结合这两个功能,可以使用set,set的底层就是红黑树,而红黑树本质上也是一个最小堆,其查找速率是。同时也要考虑一个情况,当新增了一个元素,导致另一个元素的最小下标发生改变,可以考虑建立一个哈希。find需要可以快速查找到是否存在一个元素的最小下标。还需要根据任意的index插入或修改指定的元素内容。,比priority-queue的查找要快。可以使用map,哈希容器。
2025-09-17 10:50:10
203
原创 【LeetCode】3541. 找到频率最高的元音和辅音
还可以更优雅一些,因为只需要找出最大值即可,合并两个循环,在统计字符频率的时候一边查找最大值,理论上是可以节约一些耗时,毕竟不需要遍历两次。思路非常简单,先便利,统计出各个字符出现的次数(使用计数排序),然后再依次查找出元音与辅音字符的最大次数。
2025-09-16 10:22:26
415
原创 【LeetCode】3227.字符串元音游戏
n个元音字符,小红先下,小红可以第一次就删掉带n-1个元音字符的子串,则还会剩下至少一个字符(只剩元音字符或元音字符和其他字符),而小明不能删掉所有字符,下一步小红可以删掉所有字符,则小红赢。小红不能删除任何字符,而小明可以在第二次删除所有的字符,小明赢。题目看着比较唬人,但仔细一分析一下会发现情况非常简单而且少。一个字符串中,出现元音字符的次数,只有三种情况。小红先下,小红可以依次删掉所有的字符,则小红赢。只需要统计一下,字符中是否存在元音字符即可。题目的标签是:脑经急转弯。
2025-09-16 10:03:25
293
原创 【LeetCode】2785. 将字符串中的元音字母排序
因为总共就10个元音字符(大小写),可以使用一个数组或者map记录每个字符在字符串中出现的次数。(数组的话就需要消耗58个单元,map需要消耗10个单元)然后使用一个只读的数组或者字符串,来设置好元音字符的顺序,也就是待会插入元音字符的顺序,根据。,但是在字符串超长的时候就会超时,所以需要进行优化。该问题,主要是需要优化不必要的耗时,思路并不难。这个代码可以跑通大部分的测试用例。
2025-09-15 20:59:32
402
原创 【LeetCode】22. 括号生成
通过prev_permutation实现全排列,然后再内部进行验证,判断排列是否有效。最左和最右边的一定是’(‘和’)'
2025-09-08 16:25:29
284
原创 【LeetCode】2749. 得到整数零需要执行的最少操作数
再次,从二进制角度来分析等式左右两边等于的可能性。,如果左边小于n,则无论如何都不可能满足。,即等式成立,代表最少n次可以满足题目条件。进一步列等式,假设,最少经过。所以,可以测得一个判断条件,经过多少次运算可以变成0。根据题目描述,需要计算。
2025-09-05 15:03:04
885
原创 【LeetCode】3516. 找到最近的人
那一天,我思索良久。想到了千千万万在中等甚至简单题无法pass的题,难道我昨天、前天做到中等题,就刷新出一个如此的简单题?我想到明天后天的每一题,未来怎么办?所以我决定,重拳出击!
2025-09-04 10:18:05
164
原创 【LeetCode】3025. 人员站位的方案数 I(康复-T2)
以点为基准,第二个节点是b,同时更新下边界,第三个节点是a,其不在边界范围,排除,第三个节点是c,在上下边界范围内,然后进一步更新下边界。思路解析,先二重循环遍历,遍历每一对节点,使用一个二维数组记录每一个节点的满足右下角的节点。以一个点为基准,判断有哪些节点是满足该基准节点的右下角对角点,然后再判断对角点间是否重叠。设置一个节点的更新边界,用于判断是否满足对角点的所有条件。根据题意,要挨个寻找成对的对角点,从直观分析,总之就是,一步一步更新对角节点的上下边界。,进行排序,然后最左上角进行依次遍历。
2025-09-02 20:09:28
463
原创 【网络编程】二、socket编程
博客并不做规范的知识讲解,仅仅是用于我个人的笔记,可能并不适用于所有人,内容也会存在错误的可能性,大家可以指正并探讨。
2025-07-23 10:13:28
920
原创 【论文笔记】A Deep Reinforcement Learning Based Real-Time Solution Policy for the TSP
本文提出了一种基于深度强化学习(DRL)和深度卷积神经网络(DCNN)的实时旅行商问题(TSP)求解策略。通过问题分解将 TSP 转化为一系列子问题,采用图像表示将城市坐标转化为图像输入,利用 DCNN 的特征提取能力拟合子问题映射,并设计过滤机制确保解的可行性。基于 DRL 的训练方法无需标签,通过并行采样加速训练,实验表明该方法在 50 城市 TSP 中平均误差仅 3.97%,求解时间 0.022 秒,显著快于传统算法(如 CPLEX、LKH),且在不同城市规模和真实基准(TSPLIB)中表现出良好的。
2025-07-10 11:28:51
762
原创 【论文笔记】MBB-MOGWO: Modified Boltzmann-Based Multi-Objective Grey Wolf Optimizer
背景:多目标优化问题(MOP)广泛应用于经济、工程、物联网(IoT)等领域,需在冲突目标间寻找权衡(Pareto 最优集)。传统单目标优化仅关注单一目标,而 MOP 需同时优化多个冲突目标。现有算法局限:多目标灰狼优化算法(MOGWO)作为群智能算法,虽收敛较快,但存在后期收敛慢、易陷入局部最优的问题,其缺陷源于线性收敛因子和随机初始化策略。本文目标:提出改进的基于玻尔兹曼的多目标灰狼优化算法(MBB-MOGWO),优化搜索策略和领导者选择机制,提升收敛速度和全局搜索能力。验证场景。
2025-07-09 09:47:37
836
1
原创 【论文笔记ing】Pointerformer: Deep Reinforced Multi-Pointer Transformer for the Traveling Salesman Problem
在训练阶段,使用强化学习,对于一个N个节点的TSP实例,算法中会以不同的起点,跑N次,得到N个轨迹,以满足TSP的对称特性,表示这都是属于一个TSP问题的(真实)解。算法中,其不会计算每一步的奖励,而是等生成一个解后,计算全局奖励,再计算损失进行反向传播。这样表示归一化奖励,得到一个advantage,然后再带入策略梯度的计算。论文中使用一个PointerFormer模型。
2025-04-18 16:29:26
261
1
原创 论文笔记:A Biased Random Key Genetic Algorithm for Solving the Longest Common Square Subsequence Problem
最长公共平方子序列(the longest common square subsequence)是最长公共子序列的问题变种,在寻找两个字符串的最长公共子序列(其中字符可以不连续)的同时,要求满足是平方字符串。
2024-07-08 15:40:47
1228
1
原创 论文笔记:基于GFlowNets的蚁群抽样组合优化
GFACS是一种基于GFlowNet的蚁群抽样组合优化算法,它在保持解多样性的同时,能够显著提高解的质量。GFACS的优势在于其高效的训练过程、强大的解质量和解多样性。轨迹平衡要求从初始状态到终止状态的轨迹前向转移概率积和反向转移概率积相等,类似于MCMC中的详细平衡。通过轨迹平衡,GFlowNet能够保证最终收敛于一个平衡的状态。结合两者的优势,GFACS能够在保持解多样性的同时,提高解的质量。GFACS的核心是GFlowNet,它通过训练学习状态转移的概率分布,从而替代传统的MCMC采样方法。
2024-06-05 17:26:38
821
1
原创 【计算机网络黑皮书】传输层
这是对于中科大的计算机网络的网课的学习笔记,感谢郑烇老师的无偿分享 书籍是《计算机网络(自顶向下方法 第6版)》需要的可以私信我,无偿分享,课程简介下也有
2023-10-08 09:28:36
2515
1
原创 【计算机网络黑皮书】应用层
这是对于中科大的计算机网络的网课的学习笔记,感谢郑烇老师的无偿分享 书籍是《计算机网络(自顶向下方法 第6版)》需要的可以私信我,无偿分享,课程简介下也有
2023-10-02 17:52:26
1755
1
原创 【计算机网络黑皮书】入门必学的基本网络知识
【事先声明】这是对于的无偿分享书籍是《计算机网络(自顶向下方法 第7版)》需要的可以私信我,无偿分享,课程简介下也有。
2023-09-28 16:38:21
1246
原创 52单片机与MH-Sensor-Series模块使用简单检测车轮转速
mh sensor series模块有四个口,VCC接5V,GND接地,还有A0与D0分别是模拟量与数字量的输出。如果使用,可以直接复制代码,然后修改引脚即可。使用的共阳极两段数码管。使用单片机的外部中断进行引脚检测。可以选择P3^2或者P3^3.还需要使用定时器中断来检测时间差。和单片机使用,就只用D0口即可.这里选择外部中断1,工作模式2。
2022-11-15 08:15:00
5075
原创 【数字图像处理】直方图均衡化与规定化
灰度级范围[0,L-1]的数字图像,在实际使用中,用哥灰度级的像素总数除以MN的整幅图像的像素数量,归一化到规律中进行计算,这样可以解除面积对哥灰度级在所有橡树中分布的影响,仅仅靠概率进行分析个灰度级的分布。在较暗的图像中,直方图的分量集中在灰度级的低段。低对比度图像具有较窄的直方图,且都集中于[0,L-1]的灰度级的某一部分,较为集中。高对比度图像的直方图的分量覆盖了很宽的灰度范围,且像素数量的分布也没有太不均匀,只有少数灰度级的像素数量要高出许多。
2022-11-10 22:07:22
6764
原创 【C++设计模式】面向对象设计模式
当一个UI类要依赖于(继承)其中元件的实现的类时,这个是不稳定的,当增加一个元件或者修改一个元件的实现方式,就会造成UI类的变化,是非常不稳定的设计,UI类与那些元件类都应该依赖于一个稳定的抽象类,利用多态的方式去实现元件的展示。对象接口与其功能实现是分离的,不同对象可以请求做不同的实现,两个具有相同接口的对象可以有完全不同的实现。2.抽象的稳定性不应该依赖于实现的细节,实现的细节会变化,实现的细节应该依赖于抽线的稳定。一个类想要增加该类的功能是允许的,但是想要修改本身就存在的功能是不允许的。
2022-10-22 12:23:46
942
原创 Leetcode-不同路径I和II(计数型动态规划)
机器人到达(m,n)位置,只能通过(m-1,n)+1和(m,n-1)+1到达,且机器人到达(m-1,n)/(m,n-1)也算通过其点的两个点达到…,以此类推假设m=1,n=1,那么从(0,0)到达(1,1)只有两种方法,到(1,0),(0,1),就是1+1。
2022-10-03 18:11:47
818
原创 Leetcode.322-零钱兑换(最大/小型动态规划)
动态规划适用于:最大/小值,可不可行,计数问题这类集中场景本题,求解是否可以由指定面值的硬币完成兑换且统计最少需要的硬币的数量,可以使用动态规划来求解。动态规划。
2022-09-30 19:03:51
1817
原创 【笔记】快速理解傅里叶级数
对于此题,f(x)展开成余弦级数是拟合程度最高的,其余弦延拓出来的偶函数是连续的,不存在间断点。对于正弦级数,而是出现了第一类间断点处的”差异“。,计算出来的和函数,在第一类间断点处,并不是完全拟合,傅里叶级数拟和出来是和间断点的左右极限有关。对于一般函数,用泰勒展开-麦克劳林公式去拟合,对于求极限也算非常好用(等量代换:t=2*pi*x/(2*L)=x*pi / L。以上仅仅是我的粗略的笔记,如果有问题,烦请大佬指点。f(x)是周期为2*PI的函数。),我认为的三大杀手锏。
2022-09-27 09:00:00
995
原创 2022暑期复习-Day9
虚函数表不会被影响,所以父类指针调用的函数一直是虚函数,去vptr指向的虚函数表中找到函数指针,然后创建函数栈每调用函数,调用的都是子类重写的虚函数。这是多态的概念父类指针访问的是谁的方法取决于父类指针指向的是什么对象,因为指向的什么对象提供了访问的_vfptr,这才是决定父类指针访问的虚函数是谁的。对于有虚函数的类中,需要考虑vfptr虚函数表指针,这个指针放在第一个内存的位置。A子类的指针访问虚函数访问的是子类的方法。C父类的指针访问虚函数访问的是父类的方法。A虚函数不是类的成员函数。...
2022-07-29 10:20:27
324
原创 2022暑期复习-Day8
A释放父类指针时能正确释放子类对象B释放子类指针时能正确释放父类对象C这样做是错误的D以上全错主要用途,在释放父类指针时,如果父类指针指向了一个子类对象,那么可以调用子类的析构继而调用父类的析构,删除这个对象,防止内存泄漏问题。答案A。...
2022-07-23 11:57:09
629
原创 2022暑期复习-Day7
A构造函数B析构函数C内联成员函数D静态成员函数虚函数是指函数能在继承关系中重写的一种函数,有virtual前缀不过有一些特殊的情况,这是由于编译器的原因。析构函数定义为虚函数时基类指针可以指向派生类的对象(多态性),如果删除该指针delete[]p;就会调用该指针指向的派生类析构函数,而派生类的析构函数又自动调用基类的析构函数,这样整个派生类的对象完全被释放答案B。......
2022-07-22 00:17:07
710
sb3框架的eval回调是不是有问题
2025-05-15
softmax到底该怎么使用
2022-12-10
CNN图像数据集的格式
2022-12-10
create_captcha_image无法显示黑色字符
2022-12-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅