自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hot100-day5

思路:先用map存,然后再去遍历,如果mp中存在target-nums[i]并且索引不等于i,那么就存在;思路:先用map去存,然后重新遍历,碰到一个就开始while循环n++,直到断开;思路:用一个map存排序好的,然后遍历mp就能得到结果;然后对每个元素都去这样做,最后得到的就是最长的ans;

2025-03-19 23:36:55 230

原创 操作系统-八股

进程定义:运行中的程序,有独立的内存空间和地址,是系统进行资源调度和分配的基本单位。并发,并行并发就是单核上面轮询,并行就是同时执行(多核);进程上下文切换,由于进程是调度的基本单位,所以涉及到。

2025-03-15 23:53:14 251

原创 hot100-day4

思路:搞清楚为什么是下界left就可以了,就是简单的二分法,下界是因为要找到添加该元素的第一个位置,看最后一次循环,left=mid+1,说明他放在mid之后,而mid此时对于的元素刚好小于target,所以这个位置就是第一个能放元素的位置;整体思路:先写出判断当前位置能否放Q的函数,之后进入递归,先写终止条件,然后写循环逻辑,也就是根据这个判断函数确定是否能放,能放之后就进入下一行,然后返回的时候需要记得将当前放的Q抹去;思路:还是二分法,展开即可;

2025-03-15 09:47:45 175

原创 hot100---day3

思路:利用数据结构栈来实现,前序,中左右,所以碰到的栈顶元素就需要push_back到数组中去;然后对于左右节点,是右节点先进入,然后左节点,这样弹出的时候才是左节点先弹出,然后右节点弹出;递归法的前中后序遍历,格式比较一致;二叉树复习+hot100专题。

2025-02-24 23:49:18 164

原创 hot100--day2

并且使用carry/10得到进位的值,并且由于carry都是+=的形式,所以在第二轮中进位会得到使用;记住这里还是需要一个head来保存最开始的头节点,不然没办法找到返回的节点;先比较,将一个链表排完,之后开始对更长的链表剩余部分去追加到新的上面;最后返回head->next就得到了相加后的新链表;先创建一个carry作为标记位也就是计算两数的和;注意:1和2链表的判断要分开,因两者不一定一样长;然后根据carry%10得到和的个位数上的值;所以整体逻辑分成了两个部分。

2025-02-17 23:41:08 213

原创 hot100-day1

【代码】hot100-day1。

2025-02-06 22:56:55 297

原创 DP专题----

第一步就是明确dp[i]的含义:调到楼梯i的最小花费;然后初始化第 0 1 个元素的值;3.dp数值如何初始化。

2025-01-27 23:07:35 325

原创 贪心专题----

当胃口大于饼干尺寸,说明此时这个胃口在当前饼干数组中 得不到满足,那么去遍历下一个胃口,饼干不做移动;直到饼干满足胃口,再移动饼干;(遍历胃口,至少能实现把饼干分发出去的思路,用饼干去找胃口)但是如果遍历饼干,会导致如果一个胃口不被饼干满足,饼干继续移动,导致可能出现所有饼干都不满足改胃口,也就是所有饼干都没有被使用到;看了讲解,贪心似乎没有定式的解题方法,更多是按照常识来;然后遍历胃口,从饼干尺寸的最后一个开始。将胃口和饼干尺寸 都排序;因此,我们需要遍历胃口,这里为什么是遍历胃口?

2025-01-25 20:32:29 353

原创 迭代器失效问题

对于序列容器,vector,queue来说,使用erase后,后面每个元素都需要移动,也就是地址都发生了变化,因此原来的迭代器就失效了(其实将迭代器理解成泛化的指针即可,因为移动导致指向的地址都发生了改变,所以迭代器失效),就需要erase返回的下一个元素的有效迭代器;对于关联容器map,set而言,底层数据结构是红黑树,所有元素内存并不连续,而通过节点指向,因此erase当前元素,其他元素的迭代器并不会失效,而只是当前的这个失效,所以在erase之前,记录下一个元素的迭代器就行了;

2025-01-25 10:06:35 85

原创 hot 100--->回溯

思路依旧,if+for,但是需要注意这道题可以重复取当前的元素,所以在进入下一次递归时不需要将index+1,而还是index;

2025-01-24 23:45:30 238

原创 代码随想录算法训练营day02| 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

由于已经排序,所以比较两侧数据即可;双指针,新数组用k;

2025-01-15 22:11:45 263

原创 回溯专题 记录

我感觉整体逻辑还是递归,只不过有了pop_back才是回溯概念;(按照模板来,不过c++没有直接计算容器sum的函数)写一个;回溯的题目按照这套模板进行;

2025-01-12 22:36:21 152

原创 代码随想录算法训练营day01| 704. 二分查找、27. 移除元素

【代码】代码随想录算法训练营day01| 704. 二分查找、27. 移除元素。

2025-01-11 23:20:37 212

原创 二叉树专题

递归法,就以一棵树作为主树,然后从根节点开始同时遍历两棵树。如果在同一个位置都存在则两者节点的值相加。(使用递归就是 能把大问题分解成相同的小问题,然后确定参数返回值、TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2)(通过递归遍历所有节点并记录,然后判断是否符合搜索树规则)(思路就是先用递归,先跑到最底层,然后回溯,一层一层往上找)(同理先把树的值排序,然后找到最小的绝对差)(一样,先把树的值保存下来,用中序遍历就行)

2025-01-10 22:17:52 247

原创 muduo 学习

2.bind是一个指的注意的点,因为对于成员函数而言,第一个参数是this,但是作为回调函数,没有示例对象也就没有this,这个时候用bind去绑定解决这个问题,然后后面的_1,_2,_3就是占位符,去代替这个回调函数的参数;1.更多关注IO网络编程和业务分离,构造函数通过两个回调函数去调用具体的处理函数;我们更多关注的就是这两个 回调函数;客户端连接上后,服务端会显示connection的提示符也就是之前在onConnection定义的;telnet 192.168.... port 去实现通信。

2024-12-02 12:00:50 314

原创 Linux网络编程

也称为套接字,描述计算机的IP和端口,运行在计算机的程序之间采用socket进行数据通信,通信两端都有socket,他是一个通道,数据在两个socket之间传输。TCP提供了 流 和数据报 两种通信机制,因此socket也分为流套接字和数据报套接字;1.服务端程序将一个套接字绑定到指定的ip地址和端口,并通过这个套接字等待和监听客户端连接请求;TCP/IP网络应用中,两个程序之间的通信模式是客户端-服务端模式;5.与客户端通信,接收客户端发送来的报文后,回复处理结果;绑定到服务端的IP和端口。

2024-11-30 10:55:46 353

原创 C++ For Hot100

【代码】C++ For Hot100。

2024-11-23 17:29:36 276

原创 AutoDL抽显卡

冲冲冲,之前租卡也挺便宜,流程也很简单。

2024-11-21 16:35:14 130

原创 c++ 编程之 编译过程

cmake .. make 就会看到在build目录下面有一个libhello.a------lib是自动加的 .a表示静态库 .so表示动态库。关于静态库连接和动态库连接,区别就是静态库会加到可执行文件里面,如果静态库过大就不太合适,这个时候就是用动态库,可执行文件用到时候再去链接动态库。g++ main.o -L. -lmymath -o main 找动态库会在系统路径下找,可能需要在系统路径加上库的路径。动态库是在用到的时候可执行文件再去找,因此动态库更新,也不会导致项目需要重新编译;

2024-11-12 15:42:52 1368

原创 C++实现用户分组--学习

类提供了一系列方法,用于读取数据、分割数据集、统计类别数量以及获取训练集、测试集和验证集。通过这些方法,可以方便地管理和处理数据集,适用于机器学习和数据分析等场景。

2024-11-11 11:42:22 757

原创 高并发内存池

回答:因为用户进程一般都是在操作系统用户态,如果没有内存池,会导致不断地进行系统调用,在内核态获得内存,从而导致大量切换开销,效率低下。并且也会存在内存碎片的问题。问题1:用户进程通过malloc申请内存空间需要转到操作系统内核空间进而读取内存,是不是需要系统调用这个操作?如果没有内存池,那么每次都需要这样导致效率很低。内存池很好地解决了这两个问题:通过一次性申请大块内存空间到内存池,之后需要内存就从内存池获取,而不是频繁向内存获取;记录第一个C++ 实战项目。

2024-11-11 00:19:06 203

原创 备战春招--

C++中对构造函数使用初始列和函数体中赋值结果是一样的,但是为什么使用初始列的形式更好。

2024-11-05 23:37:49 275

原创 ford面试准备

手机 APP 发送的指令并不会直接传输到车辆,而是先传输到 TSP 服务器,再由服务器通过安全的通信通道转发到车辆端 T-Box。整个过程确保了通信的安全性和数据的可追溯性。但是近的话可以直接用蓝牙;车联网:其实就是车辆物联网,基于现在的5G通信技术,实现车与X之间的网络连接,提升车辆整体的智能驾驶水平。是指车辆上的车载设备通过无线通信技术,对信息网络平台中的所有车辆动态信息进行有效利用,在车辆运行中提供不同的功能服务。车联网是利用传感技术。

2024-10-21 23:32:37 1256

原创 STM32重拾+找工作MD

函数就是定义在System_xx开头的.c里的,在keil里也可以看到这个函数的定义(在main函数之前,单片机就已经执行了一堆东西了,帮我们把闪存接口,时钟等一系列杂碎的东西都配置好了)。首先是startup启动文件,这个是程序执行最基本的文件,keil中启动文件是用汇编写的,启动文件内定义了中断向量表,中断服务函数等。,来封装一些模块供主程序和中断调用,有利于程序结构的模块化,要不然所有的程序都在主函数里,那主函数就太长了。,这些函数封装了寄存器的操作,给我们提供更加人性化的函数调用方式。

2024-10-20 17:16:42 465

原创 ys科技记录

1.以下命合中无法查看linux cpu使用率的命分是以下命令中。

2024-10-19 11:03:50 893

原创 数码准备记录

产品经理提出需求,开发测试产品对需求评审,在开发人员开发同时,测试会进行测试用例编写,编写完成后,开发产品测试评审。在单元测试的基础上,将各单元组成完整的体系,测试软件单位之间的接口是否正确,数据能否正常传递。---------------比如注册和充值这两个功能能否连通。高并发场景采用多种解决方案,例如使用缓存减少数据库的访问次数,利用负载均衡器分散到不同的服务器,使用消息队列来异步处理。9.重现缺陷的三个方面:操作步骤,预期结果,实际结果10.bug的重现上次相应的文件例出现 bug 时的截图。

2024-10-13 23:17:35 483

原创 LP笔试record

在 Python 中,赋值操作通常涉及引用的传递,而不是值的复制。对不可变对象的赋值(如数字)不会影响原始对象。对可变对象的操作可能会影响所有引用指向该对象的变量。10.在 MySQL 中,用于进行分页的函数是。这是一个窗口函数,用于给结果集中的每一行分配一个唯一的序号。它可以用于分页,因为你可以使用该序号来确定哪些行应该被返回。11.因果图注重不同输入条件的组合;12.CAN总线13. 软件测试尽早开始14.POST 一般用于提交/更新资源信息正确。

2024-10-13 20:27:16 1115

原创 Github界面学习

now,在做毕设的时候发现了一个gymnasium关于异步环境的bug,查看github发现已经被修复了;直观一点就是多人协作的任务,上传到服务器上共享,并且每个成员的修改记录,修改版本都会被保存;因此希望学习一下修复者是在哪个module修复以及如何修复以及提交代码;之前并没有使用到其他功能大多数是看代码,然后看discussion;1.Git 和 GitHub。网站使用了git这个工具。git是一个软件、工具。github一个网站。

2024-10-05 12:09:49 539

原创 大论文记录

基础知识回顾1.强化学习(Agent、Environment)在 RL 中,代理通过不断与环境交互、以试错的方式进行学习,在不确定性下做出顺序决策,并在探索(新领域)和开发(使用从经验中学到的知识)之间取得平衡。探索利用问题)已经使用stable_baseline3做过一些列实验,sb3这个库相对简单,但是训练起来感觉并不是很好;ElegantRL在 Actor-Critic 框架下实现 DRL 算法,其中 Agent(又名 DRL 算法)由 Actor 网络和 Critic 网络组成。

2024-10-03 09:51:25 861

原创 leetcode100记录

3. 128. 最长连续序列。

2024-09-25 10:11:06 264

原创 CC面试准备

与之相对的是非本征半导体,参杂了不同分为N型半导体和P型半导体,由于两种半导体制作在同一片硅片上,且N型多为自由电子,P型多为空穴,由于扩散作用,中间会形成电场空间,也就是PN结:具有单向导电性,电流只能正极进去,负极出来,正是由于二极管内部独特的PN结。由P区引出的电极成为了正极,由N区引出的电极成为了负极。由于P区的空穴浓度比N区高,空穴就往N区扩散,而N区的自由电子浓度比P区高,自由电子往P区扩散,P区和N区交界面附近,形成了一个很薄的空间电荷区,在这个区域内,多子已扩散到对方并消耗。

2024-09-24 21:11:13 344

原创 Python查漏补缺

这段代码的作用是将一个 Python 字典转换为 JSON 字符串,以便于数据交换、存储等。输出的字符串可以被解析回 Python 字典,也可以被其他编程语言理解,因为 JSON 是一种通用的数据格式。7.继承一个类继承自另一个类,可以说是一个子类、派生类,继承自父类、基类同时获得所有的类成员。继承是我们可以重用代码,还可以更好创建和维护代码;单继承:一个子类类继承自单个基类多重继承:一个子类继承自多个基类多级继承:一个子类继承自一个基类,而基类继承自另一个基类。

2024-09-23 21:31:45 1381

原创 数据结构与算法复习

完全二叉树:也就是最后一层可以不是满的,但是所有的节点都必须集中在左侧/区别于满二叉树;所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数;第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求:任何一个节点不能只有右子树没有左子树叶子节点出现在最后一层或者倒数第二层,不能再往上。

2024-09-12 14:51:01 389

原创 测试开发++

day1性能测试:目的:满足真实的业务场景,自己做的项目访问量这些可能根本没有考虑,但是对于商用项目而言,必须考虑能否支持大量用户;这也是为什么要做性能测试概念:基于多用户的概念,利用自动化工具,模拟不同的业务场景,对软件各项性能指标评估测试;关注:软件质量属性中的效率特性:时间(响应时间),资源(CPU,内存利用率)方面,(正向)目的:前-评估当前系统能力 中-寻找性能瓶颈 后-评估软件是否满足未来需求;功能测试:主要是针对功能需求文

2024-09-12 11:22:32 185

原创 操作系统++

4.共享内存:多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存的更新;最快的进程间通信方式,是针对其他进程间通信方式允许效率低而专门设计;意图在于进程间同步,常作为一种锁机制,防止某进程在访问共享资源时,其他进程也访问该资源。3.消息队列:消息队列是保存在内核中的消息列表,按照消息的类型进行传递,具有较高的可靠性和稳定性;2.信号:比较复杂的通信方式,信号可以在任何时候发送给某一进程,而无需知道该进程状态;线程/进程间同步方式:临界区:对共享资源进行访问的程序片段。

2024-09-11 17:11:30 224

原创 操作系统相关知识(运维)

K8s:个人理解就是应用服务和服务器之间的中间层出现原因:可以借鉴深度学习项目配置环境问题,如果每次都要讲应用手工部署到服务器上面,没有一个自动化部署的工具,那么你面临的不仅是应用代码的上传还需要考虑环境及配置是否有冲突,但是通过容器技术,相当于将应用代码和操作系统直接打包,再部署到服务器上面,并且还能实现自动化的流程,通过一个yaml脚本就能实现,不再需要一句一句敲命令;出现这种应用服务管理工具,它介于和之间,能够通过策略,协调和管理多个应用服务,只需要一个。

2024-09-10 11:48:11 1236

原创 计算机网络知识点

304(未修改)服务器返回状态码高速客户端请求成功,但是这个资源不是由服务器提供返回给客户端的,而是客户端本地浏览器缓存中就有这个资源,因为可以从缓存中获取这个资源,从而节省传输开销。很好理解,GET是从服务器获取资源,放在HTTP报文的请求头中(明文),不会改变服务器的资源,因为放在URL中,请求大小会受到限制。,如HTTP(超文本传输协议未加密)、DNS(域名解析协议域名转IP)、HTTPS(加密的)、FTP(文件传输协议)、SMTP;FTP:文件传输协议,可以屏蔽操作系统和文件存储方式。

2024-09-09 13:54:17 824

原创 笔试记录++

1.小明当起了矿场的爆破工程师。小明工作的矿场可以看作一个NxN的二维网格,小明可以将一个炸弹放置到矿场的任意位置,若干时间后炸弹会爆炸,将炸弹所在处及相邻位置炸开,让工人们可以轻松获得那些位置的矿物。现在给出这个矿场的矿物数量分布,请你帮小明找出一个最佳位置,使得炸完后能获得的矿物数量最大。你只需要告诉小明这个最大数量即可。在第i行i列的矿物数量为a[m(当1si,j≤N),否则为0(即超出矿场边界时不会获得任何矿物)。

2024-09-05 16:24:05 1021

原创 二叉树+++

度为0的节点:没有子节点的节点。它们被称为叶子节点或终端节点。度为1的节点:只有一个子节点的节点。它们可以是左子节点或右子节点。度为2的节点:有两个子节点的节点,即既有左子节点又有右子节点。1.满二叉树:度要么是0要么是2,也就是一个节点的子节点不存在只有1个的。2.完全二叉树:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(h从1开始),则该层包含 1~ 2^(h-1) 个节点。

2024-08-31 22:23:25 2208

原创 MySQL记录

1.#每个月Top3的周杰伦歌曲#

2024-08-31 16:53:46 659

空空如也

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

TA关注的人

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