自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 代码随想录算法训练营第十五天|层序遍历×10、226.翻转二叉树、101.对称二叉树 2

×10。

2024-04-11 15:53:34 820

原创 VSCode安装模板文件注释、模板函数注释的插件

安装KoroFileHeader插件。

2024-04-07 18:36:43 325

原创 一级指针和二级指针

二级指针大多用于函数的形参,目的是为了存放一级指针的地址(注意区分一级指针自己的地址和一级指针存放的地址的区别)。如果在函数中拥有存放一级指针地址的二级指针pp,此时就可以对二级指针解引用获取一级指针的地址(*pp),此时就可以修改一级指针p的指向,这个指向在离开函数后仍然保留。

2024-03-19 00:46:27 208

原创 代码随想录算法训练营第十三天| 理论基础、递归遍历、迭代遍历、统一迭代

文章讲解:视频讲解:题目链接:文章讲解:视频讲解:题目链接:文章讲解:视频讲解:

2024-03-18 20:59:06 208

原创 函数三种传参形式:指针传递、引用传递、值传递

1.引用传递和值传递都是传地址,可理解为实参和形参的内存地址相同,在函数中的赋值操作在函数结束后仍会保留(只要被赋值的变量仍存在)。而值传递传入的是实参的值,调用函数时会进行拷贝操作将实参的值赋予形参,实参和形参的地址不同,因此在函数体内对形参的赋值操作不会改变实参的值。

2024-03-18 18:59:29 371

原创 代码随想录算法训练营第十二天| 239. 滑动窗口最大值、347.前 K 个高频元素、总结

1.设计单调队列。push得逻辑是每次新加入的值跟队列元素一一比较,先while判断,将小于新加入值得元素全部pop,结束while,然后push这个新值。pop得逻辑是每次将滑动窗口需要移除得元素和队列pop得值比较,如果相等则pop,不相等说明在push元素得时候因为小于新加入得值已经被pop出去了。front逻辑则是返回队列最前得元素。 1.设计单调队列的数据结构,即MyQueue类 1.太难还没看懂 1.没看懂

2024-03-18 15:25:45 631

原创 代码随想录算法训练营第十一天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

1.有三种不匹配情况。1.把字符串字符一个个放入栈,每次进入循环先判断字符和栈顶字符是否相等,相等则将字符从栈中pop,然后遍历下一个字符,最后从栈取元素并反转顺序。1.先想明白全部不匹配的情况再写if代码。1.进行运算时,是nums2在前。

2024-03-17 16:17:56 710

原创 代码随想录算法训练营第十天| 理论基础、232.用栈实现队列、225. 用队列实现栈

重要知识点:文章中四个问题、STL的三个版本、栈和队列的底层实现。 1.考察对栈和队列的理解。具体是用两个栈实现队列,分别是入栈和出栈。数据push进入栈,在出栈时,从入栈中顶层把数据放入出栈,再pop即实现了先入先出。 1.无225. 用队列实现栈解题思路: 1.用两个队列实现栈。que2是对que1的备份,当出栈时,将que1除最后一个元素外的其它元素都存放到que2中,然后front最后一个元素实现出栈,最后将que1=que2实现还原并把q

2024-03-17 14:43:53 610

原创 代码随想录算法训练营第八天| 28.实现strStr(),459.重复的子字符串,字符串总结,双指针回顾

代码随想录。

2024-03-14 14:18:23 844

原创 IO多路复用

原因:在不使用IO多路复用技术之前,服务端处理客户端的请求只能采用多进程或多线程的方式,这种方式消耗的系统资源多。举例:1核2GB的虚拟机,大概可以创建一百左右线/进程,即处理一百左右的客户端,实际工作中硬件条件更好,但也只能处理千级别数量的客户端。采用IO复用技术后,最简单的select模型就可以让一个线/进程处理1024个客户端(poll是数千级,epoll是百万级)

2024-03-13 16:25:50 78

原创 代码随想录算法训练营第七天| 344.反转字符串,541.反转字符串Ⅱ,卡码网:54.替换数字,151.翻转字符串里的单词,卡码网:55.右旋转字符串

【代码】代码随想录算法训练营第六天| 344.反转字符串,541.反转字符串Ⅱ,卡码网:54.替换数字,151.翻转字符串里的单词,卡码网:55.右旋转字符串。

2024-03-13 16:11:21 1231

原创 TCP三次握手和四次挥手

由客户端率先向服务端发送请求,第一次发出的请求内容是向服务端申请连接,第二次是服务端向客户端发送,发送内容是服务端收到请求后的回应和服务端向客户端申请连接的请求,第三次是客户端向服务端发送请求,请求内容是回应服务端的申请。第二次握手确保了服务端会处理与客户端的连接,第三次握手确保了客户端会处理与服务端的连接。

2024-03-12 19:52:23 180

原创 代码随想录算法训练营第六天| 454.四数相加Ⅱ,383.赎金信,15.三数之和,18.四数之和,总结

​454.四数相加Ⅱ解题思路: 1.用两个双重for循环,第一个双重for循环计算nums1和nums2中相加值所有可能性并保存到unordered_map中,键为相加的和,值为相加和出现的次数,第二个双重for循环同样计算nums3和nums4相加值得和,然后在map中寻找0 -(c+d),找到了nums1和nums2中有对应得两个元素与nums3和nums4当前遍历到的两个元素和为0,此时对计数count加上mao得value值。​

2024-03-12 15:24:49 1555

原创 僵尸进程和孤儿进程

父进程比子进程先退出,这种子进程被称为孤儿进程。

2024-03-11 21:45:49 194

原创 vs中设置出现运行错误时是否提示。

路径:工具->选项->项目和解决方案->生成并允许。看到“允许期间,当出现生成或部署错误”一栏,在下拉框中选择相要的设置。

2024-03-11 17:15:26 487

原创 代码随想录算法训练营第五天| 哈希表理论基础,242.有效的字母异位词,349.两个数组的交集,202.快乐数,1.两数之和

1.首先要得到输入的整数n各位置数字的平方相加的和sum,然后再while(1)无限循环中判断sum是否为1,不为1,不为1进入set的if判断,如果这个sum不在set容器中出现过,把这个数插入到set容器中,否则表明sum在set容器中出现过,那么说明这个数按快乐数的计数规则会陷入循环中且不为1,返回false;如2,每一次计数后的值分别为4 16 37 58 89 145 42 20 4,在第9次时,会重新变为4,即进入循环。1.map容器第一个位置存放元素,第二个位置存放的才是元素下标。

2024-03-11 16:42:37 2358

原创 代码随想录算法训练营第四天| 24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交 、142.环形链表II

1.写循环,每次循环处理两个节点。因为要获取处理的两个节点,以用来改变它们的next,因此指针需要位于要处理两个节点的前面一个节点,接着定义temp临时变量存储节点,后面改变每个节点的next后即可。

2024-03-09 14:27:15 1369

原创 代码随想录算法训练营第三天| 链表理论基础,203.移除链表元素,707.设计链表,206.反转链表

1.代码的具体实现题目的头结点是链表的第一个元素,而不是我之前学过的教程中已经指向第一个元素的结点。1.链表移除元素的基本思路。这道题主要是代码实现。定义cur和pre指针。

2024-03-08 18:44:56 2023

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

1.双指针法。定义左指针left和右指针right,比较大小后移动一个指针向中间靠拢。 1.循环临界条件的判断。应该是left小于等于right时候一直循环。 2.当左右指针指向的值相等时,不用同时处理两个指针位置,仍单独处理一个指针位置即可,否则可能会错过right=left的时候。209、长度最小的子数组解题思路: 1.双指针法。定义start和end两个从0开始的指针,不断向后移动end,累计start和end之内元素的和sum,当sum>=

2024-03-08 16:57:12 2133 1

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

二分查找方法不必赘述,用代码实现的思路为:创建left、right和middle的变量,初始值分别为数组最左边和最右边的下标,middle的值为left加right的一半(middle也是下标)。对左闭右闭写法区间重新取值的个人见解:左闭右闭写法中,right和left的取值是等于middle还是middle加减1都可以,让left、right取值等于middle是偷懒的写法但在数学逻辑上不严谨,存在对重复元素的判断。数组在定义后在内存中大小是固定不变的,所谓的删除操作都是覆盖操作。

2024-03-06 14:47:09 1721

原创 计算机基础--自用

1.64位系统中,一字节是8位;32位系统中,一字节是4位。

2024-01-13 18:53:31 372

原创 所遇BUG合集-自用

2024-01-13 18点37分。

2024-01-13 18:37:53 374

原创 XShell自定义快捷键(复制粘贴等)

复制快捷键示范如上,其它按键可自行按需添加。

2024-01-13 18:34:32 411

原创 gitGui中文字乱码问题

用GitGui可视化工具查看代码历史时,其中文字出现乱码。

2023-12-30 21:12:15 692

原创 git安装

git官网->download for windows->

2023-12-27 16:42:39 355

原创 安装pycharm

python官网->downloads->for windows->下载即可。(我下的是3.12.1版本)

2023-12-27 15:17:58 332

原创 qt中ui设计模式下或代码界面输入法打字框停留时间过短问题

现象一:在使用QT设计模式拖拽部件后,在输入汉字改变控件名和内容时,自带输入法输入备选框停留时间过短,直接将拼音字母给输入进去;或者代码界面写注释时出现相同的问题。现象二:qt出现the code model could not parse an included警告提示。

2023-12-26 15:51:58 496

原创 vscode没有转定义等提示信息

原因:没有安装c/c++插件。

2023-12-22 17:36:30 352

原创 gdb简要认识

注意了,如果函数是库函数或第三方提供的函数,用s也是进不去的,因为没有源代码,如果是自定义的函数,只要有源码就可以进去。开始运行程序, 程序运行到断点的位置会停下来,如果没有遇到断点,程序一直运行下去。继续运行程序,遇到下一个断点停止,如果没有遇到断点,程序将一直运行。设置断点,b 20 表示在第20行设置断点,可以设置多个断点。显示变量或表达式的值,如果p后面是表达式,会执行这个表达式。执行当前行语句,如果该语句为函数调用,不会进入函数内部。执行当前行语句,如果该语句为函数调用,则进入函数内部。

2023-12-14 12:43:09 299

原创 main函数的三个参数

字符串的数组,存放了环境变量,数组的最后一个元素是空。(获取和设置环境变量的函数setenv、getenv)字符串的数组,存放了每个参数的值,包括程序本身。存放了程序参数的个数,包括程序本身。命令行中直接在最后跟参数,空格间隔。函数的参数,可以省略不写。一、main函数的参数。在程序中,如果不关心。

2023-12-14 10:03:54 429

原创 linux平台下静态库、动态库制作和使用及makefile

准备材料:/home/cc/mine/libTest目录下准备了app和tools文件夹,app文件夹存放调用的代码demo01.cpp,tools文件夹存放被调用的文件代码public.h和public.cpp。笔者此处为g++ -o demo01 demo01.cpp -L/home/cc/mine/libTest/tools -lpublic。笔者此处为:g++ -o demo01 demo01.cpp -lpublic -L/home/cc/mine/libTest/tools。

2023-12-13 17:50:24 886

原创 VSCode连接linux

接着重新点击上文所述最左下角的的图标,然后在中间提示框中依次点击“连接到主机”->之前填写的ip地址,然后此时会弹出新窗口,在新窗口的中间提示框中输入linux的密码即可连接成功。2.点击后在正上方搜索框内会出现提示,点击“连接到主机”,然后再点“配置ssh主机”、接着点第一个文件(这是配置文件)情况:在输密码的时候输入正确密码无反应,然后多次输入后提示连接失败,多少次都没用,重新写配置文件也没用。1.安装remote ssh完成后,点击下图示中红色箭头指向图标。2.安装remote ssh插件。

2023-12-13 12:04:56 619

原创 linux命令下的man命令级别

用man命令随便查看个函数,在最左上角可以看的小括号内的数字,这就是命令级别。此处是strcpy(3)。当用man命令查到的是命令帮助而不是函数帮助的时候可以尝试更改命令级别,例如sleep。在man后直接加入命令级别数字即可。最常用的级别是1和3。特殊文件,比如设备文件。

2023-12-13 11:02:29 329

转载 Ubuntu和Centos的简要区别(linux)

3、复杂难度:CentOS用户量相对于较少,没有详细的使用帮助类教程,新用户上手比较难;而Ubuntu拥有大量的帮助文档和教程,也有庞大的社群论坛,可以方便得到帮助。4、软件管理:CentOS使用.rmp包,以及使用YUM进行软件管理;而Ubuntu使用.deb包,以及使用apt-get进行软件管理。2、稳定性:CentOS系统更加安全稳定,而Ubuntu升级包可能会造成系统不稳定或者不安全。个人感觉最直观的区别就是软件安装需要用的命令不同,一个是yum一个是apt。

2023-12-13 10:46:03 170

原创 VS和VS Code简要区别

vs属于IDE(integrated development environment),不仅可以用来编辑代码,同时也包括了项目开发其它流程需要的工具,更适合软件开发的整体部署。今天开始新的项目课程安装插件的时候才发现,vs和vscode不是一个软件...之前一直以为是一个软件的不同叫法。vscode属于代码编辑器,更适合写代码。对纯写代码而言体验更舒适。

2023-12-13 10:08:53 694

原创 函数指针和类成员函数指针

函数指针和类成员函数指针

2023-11-21 14:51:33 46

原创 c++模板

可以看到传入的参数类型都不一样但使用的函数是同一个。

2023-11-21 14:51:15 21

原创 电脑清理C盘方法总结

c盘清理一些无风险的方法

2023-11-15 20:43:24 75

空空如也

空空如也

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

TA关注的人

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