自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件(Linux)

我们现在要学习的文件可以分为两类,一类是在内存中的文件,另一类是在磁盘中的文件。以上就是今天要讲的内容,本文仅仅详细打开的文件和磁盘中的文件系统以及软硬连接。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-09-27 15:31:39 1128

原创 动静态库(Linux)

我们之前用过c语言的库.Linux中默认的都是使用动态库,如果想要使用静态库,就必须加上-static选项。默认都是安装的动态库,系统中一般没有静态库,如果要使用,就需要自己安装。Linux下动态库是以.so结尾的,静态库是以.a结尾的。无论是动态库还是静态库,都有自己的名字。比如libc.so,库的名字需要去掉前缀lib,去掉后缀.so,那么这就是一个c标准库。以上就是今天要讲的内容,本文仅仅详细介绍了。

2024-09-27 15:31:02 891

原创 动态规划子数组(C++)

在本文章中,我们将要详细介绍一下Leetcode(面试题 08.01.)三步问题相关的内容以上就是我们对Leetcode详细介绍,希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~

2024-09-24 14:31:05 315

原创 BFS 解决最短路问题(C++)

边权相等的最短路。从起点开始,进行一次BFS操作。需要借助队列和数组(是否遍历过)完成操作。弹出前,先计算队列中有多少元素,同时向外扩展。最短路径就是层序遍历的层数以上就是今天要讲的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-09-19 15:29:46 709

原创 二维背包问题(C++)

二维背包问题和基础背包问题的解题思路是一样的,唯一不同的就是二维背包是有两个限制条件,而一维背包只有一个限制条件。以上就是今天要讲的内容,本文仅仅详细介绍了。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-09-11 11:46:11 449

原创 完全背包(C++)

DP42 【模板】完全背包以上就是今天要讲的内容,本文仅仅详细介绍了。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-09-11 11:20:58 947

原创 01背包问题(C++)

DP41 【模板】01背包1049. 最后一块石头的重量 II我们本岛题目的关键就是进行一定的转化:我们要求最小可能重量,这两个数不就是一个加上一个加号,一个加上一个减号,使得最终的和最小。也就是把这些石头分为两部分,使他们各自的和越接近越好。我们最终把问题转换成:在一堆数中挑选,使得和尽尽可能接近sum/2就可以,这就变成了01背包问题。以上就是今天要讲的内容,本文仅仅详细介绍了。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-09-08 14:18:54 1323

原创 田忌赛马(C++)

2418. 按身高排序在介绍田忌赛马这道题目之前,我们需要先对这个道题目进行一定的掌握。我们解决这道题目有很多方法,我们这里仅仅介绍一种最常用的。题目中我们并不想排序后改变原始位置,我们可以用下面方法:🌟1.创建一个数组下标🌟2.对数组下标通过重写比较方法进行重新排序🌟根据重新排序后的结果,找到原数组的信息。public://1.创建一个数组下标i

2024-09-08 13:46:12 535

原创 两个数组的dp问题(C++)

1143. 最长公共子序列看完解析之后可以尝试分析一下这道题目1035. 不相交的线以上就是今天要讲的内容,本文仅仅详细介绍了。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-09-05 18:03:01 930

原创 冯诺依曼体系结构与操作系统(Linux)

上图就是冯诺依曼体系结构图,主要包括输入设备,输出设备,存储器,运算器,控制器。每一个模块都是独立的。我们分别详细介绍一下这几个模块CPU:运算器和控制器组成。存储器:本质就是内存。输入设备:主要用于输入,包括键盘,鼠标等等输出设备:主要用于输出,包括显示器,话筒,声卡等等。对于这些硬件设备来说,有的只做输入,有得只做输出,有得二者兼顾。这几个模块是通过一个叫做总线的东西连接起来的我们连接起来有什么用呢??主要是为了数据的流动,也就是数据之间的来回拷贝。

2024-07-06 22:48:04 1073 3

原创 C语言基础介绍

程序从main函数第一行开始执行,并且一个工程有且只有一个main函数。我们写main函数的时候一般是这样写的int main()return 0;也可以这样写void main()这是很古老的写法int main(void)这样也可以sizeof操作符,计算变量或者类型占内存空间的大小,单位是字节。编译器只规定了sizeof(long)>=sizeof(int).scanf:输入数据,数据从键盘读到内存上。printf:输出数据,数据从内存打印到显示器上。

2024-07-01 10:28:42 352

原创 String(C++)

在本篇文章中,我们将会学习到string相关的内容,并且对部分容器进行模拟实现,了解底层原理。vs下ctrl+f可进行搜索string字符串是表示字符序列的类标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。string类是使用char(即作为它的字符类型,使用它的默认char_traits和分配器类型(关于模板的更多信息,请参阅basic_string)。string类是basic_string模板类的一个实例。

2024-06-21 19:59:31 810

原创 Date类实现(c++)

我们本篇内容将会对Date类进行模拟实现以上就是今天要讲的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-21 19:58:34 580

原创 auto/范围for/nullptr(C++)

auto主要用于类型推导,代替长类型auto在c语言使用时修饰变量,表示这个变量是具有自动存储器的局部变量,但是在实际中几乎不会使用。C++11赋予了他新的含义,auto作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。auto b = a;return 0;typeid().name()可用于打印类型。对于指针*可写可不写。但是对于引用,&必须加上。

2024-06-17 19:20:01 887

原创 (Git)多人协作1

目标:master分支下file.txt文件新增“aaa”,“bbb”实现:开发者1新增“aaa”,开发者2新增“bbb”在同一个分支下协作完成实际开发过程中,每个用户都与属于自己的码云账户,如果想要进行多人协作开发,必须将用户添加进开发者,用户才有权限进行代码提交。邀请用户我们当前远程仓库只有一个master分支,实际开发过程中,我们不允许直接在master分支上修改代码,这是为了保证分支的稳定。我们需要新建分支。在本地仓库中,我们需要将远程的dev分支拉下来。

2024-06-12 20:04:14 859

原创 Gi标签管理

标签,可以理解为对某次commit的一次标识,相当于起=起了一个别名。例如,在项目发布某个版本时候,针对最后一次commit起一个v1.0这样的标签来标识里程碑的意义。这有什么⽤呢?相较于难以记住的 commit id , tag 很好的解决这个问题,因为 tag ⼀定要给⼀个让⼈容易记住,且有意义的名字。当我们需要回退到某个重要版本时,直接使⽤标签就能很快定位到。以上就是今天要讲的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-12 19:54:00 497

原创 Git远程操作

我们之前所学习过的内容,本质都是在本地,也就是在笔记本上。而Git是分布式版本控制系统可以简单理解为,我们每个⼈的电脑上都是⼀个完整的版本库,这样你⼯作的时候,就不需要联⽹了,因为版本库就在你⾃⼰的电脑上。既然每个⼈电脑上都有⼀个完整的版本库,那多个⼈如何协作呢?⽐⽅说你在⾃⼰电脑上改了⽂件A,你的同事也在他的电脑上改了⽂件A,这时,你们俩之间只需把各⾃的修改推送给对⽅,就可以互相看到对⽅的修改了。分布式版本控制系统的安全性要⾼很多。

2024-06-12 14:52:53 1205

原创 动态规划路径问题(C++)

62. 不同路径以上就是今天要讲的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-10 08:22:35 353

原创 二叉树最大宽度

给你一棵二叉树的根节点 root ,返回树的 最大宽度。树的 最大宽度 是所有层中最大的 宽度。每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。题目数据保证答案将会在 32 位 带符号整数范围内。输入:root = [1,3,2,5,3,null,9]输出:4解释:最大宽度出现在树的第 3 层,宽度为 4 (5,3,null,9)。

2024-06-09 19:50:32 432

原创 string经典题目(C++)

给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”提示:s 仅由数字和英文字母组成以上就是今天要讲的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-09 19:48:06 1391

原创 BFS 解决 FloodFill 算法(C++)

BFS就是广度优先遍历,也就是层序遍历。FloodFill是指在数组中找出性质相同的连通块,并根据题目进行操作。以上就是今天要讲的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-09 11:24:33 422

原创 栈经典题目(C++)

给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca”输出:“ca”解释:例如,在 “abbaca” 中,我们可以删除 “bb” 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除操作,所以最后的字符串为 “ca”。

2024-06-08 14:09:14 950

原创 哈希经典题目(C++)

哈希表是一个存储数据的容器,我们如果想要快速查找某个元素,就可以用哈希表,时间复杂度为O(1)。以上就是今天要讲的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-07 19:05:40 832

原创 拿捏红黑树(C++)

我们之前介绍了一种AVL的高阶数据结构,在本篇文章中,我们将会介绍一种与AVL旗鼓相当的数据结构–红黑树。我们并且会对它的部分接口进行模拟实现AVL是保证左右高度不超过1,实现平衡。红黑树是在每个节点存储位表示颜色,包括红色和黑色,并且保证最长路径的节点个数不超过最短节点路径的两倍,我们就可以达到一种近似平衡性质🌟每个节点颜色不是红色就是黑色🌟根节点是黑色的🌟如果一个节点是红色,那么它的孩子必须是黑色节点(不允许出现连续的红色节点🌟每条路径都包含相同数量的黑色节点(路径:根节点到空)

2024-06-05 17:28:28 1209

原创 二叉树非递归遍历(C++)

我们之前学习过用递归解决二叉树的前序,中序,后序。下面我们将用非递归,也就是遍历的方法对二叉树进行遍历以上就是今天要讲的内容,本文仅仅详细介绍了二叉树前序,中序,后序三种非递归遍历方式。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-03 17:15:00 913

原创 拿捏AVL(C++)

在本篇文章中我,我们将会介绍一下·有关AVL树的相关内容,并且对一些接口进行模拟实现。为什么会有AVL树呢??我们在之前学习二叉树时,如果我们插入的顺序是有序或者接近有序,就会退化成单支,查找一个值的时间复杂度就是O(N)。为了解决这个问题,因此,两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了一种解决上述问题的方法:插入每个节点时,保证左右子树的高度差的绝对值不超过1,从而降低高度,保证平衡。为什么保证高度不超过1呢??为0不是更平衡吗??

2024-06-02 13:35:01 959

原创 前序中序/中序后序构造二叉树(C++)

在本篇文章中,我们将会用前序和中序构造一棵二叉树,也可以用中序和后序构造一颗二叉树105. 从前序与中序遍历序列构造二叉树106. 从中序与后序遍历序列构造二叉树以上就是今天要讲的内容,本文仅仅详细介绍了前序中序/中序后序构造二叉树。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-06-01 19:56:13 877

原创 JZ36 二叉搜索树与双向链表(C++)

在本篇文章中,我们将会讲解牛客网上一道二叉树经典题目JZ36 二叉搜索树与双向链表,我们用C++来对代码进行编写。以上就是今天要讲的内容,本文仅仅详细介绍JZ36 二叉搜索树与双向链表这道题目。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-05-30 17:41:35 421

原创 236. 二叉树的最近公共祖先(C++)

在本篇文章中我们将会讲解二叉树中极为经典的题目236. 二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3。

2024-05-29 10:16:53 656

原创 c++11特性(详细)

在本篇文章,我们将会详细介绍一下C++11新增的一些特性,其中最重要的是右值引用,智能指针等,这其中也产生了很多不必要的语法设计。在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。

2024-05-29 08:58:34 1764

原创 C++类型转换

在本篇文章中,我们将会介绍一下C++中有关类型转换的知识,其中包含四种转换方式,static_cast,reinterpret_cast,const_cast,dynamic_cast,每一个都是不同的,还会简单介绍RTTI以上就是今天要讲的内容,本文仅仅详细介绍了C++类型转换的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-05-24 10:50:57 656

原创 拿捏C++智能指针

在本篇文章中我们将会讲解内存泄漏以及解决一下c++异常处理的一些复杂场景,从而引出智能指针。我们介绍智能指针之前,看一下这种场景如果我们采用异常的处理该如何解决??如果p1,p2,p3都申请到内存,正常释放,我们后续的代码应该是这样的new会进行异常检查那如果p1或者p2或者p3没有申请到内存,按照我们处理异常的方式,按照下面写法void fun()int* p1;int* p2;int* p3;delete[]p2;throw。

2024-05-21 12:20:09 827

原创 C++异常详解

在本篇文章中,我们将会详细介绍一下有关C++异常的讲解,主要涉及异常的使用,应用场景,异常的优缺点等方面,同时有了异常才会引出我们之后学习的一个非常重要的知识点————智能指针。在以后写代码的时候会遇到小组合作的形式,每个小组负责不同的模块,每个小组都会抛出异常,但是每个小组抛出的异常类型不同,放在一起在main函数中进行捕捉就会很复杂。实际中抛出和捕获的匹配原则有一个例外,类型可以不完全匹配,抛出子类对象用父类进行捕捉。每个小组都可以抛出派生类的异常,在mian函数中使用基类统一捕捉。

2024-05-12 18:16:31 1110

原创 673. 最长递增子序列的个数(Leetcode)

在本篇文章中,我们将会讲到leetcode中673. 最长递增子序列的个数,我们将会用动态规划方式解决这道问题,同时掌握小demo知识。在解决这道问题之前,我们先来介绍个小demo。在数组中一次找出最大值出现的次数。我们可以定义两个变量maxval,count🌟maxval表示数组中最大值,初始化为nums[ 0 ]count表示最大值出现的次数,初始化为1(为我们假定第一个数为最大值)🌟nums[ i ]

2024-05-11 11:36:37 668

原创 15. 三数之和(双指针+去重优化)

在本篇文章中,我们将会讲到leetcode中15. 三数之和,我们将会用到双指针的方式解决这道问题,同时注意掌握算法原理的去重操作。以上就是我们对Leetcode中15. 三数之和详细介绍,希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~

2024-05-11 09:35:38 913

原创 300. 最长递增子序列(动态规划+贪心)

在本文章中,我们将要解决一下Leetcode中300. 最长递增子序列在本道题目中,我们将会用动态规划和贪心两种策略分别来解决这道问题。以上就是我们对Leetcode中最长递增子序列详细介绍,希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~

2024-05-08 10:54:52 715

原创 611. 有效三角形的个数(双指针)

在本篇文章中,我们将会带着大家解决一下611. 有效三角形的个数这道题目,本道题木将会用双指针的方法解决。以上就是我们对Leetcode有效三角形的个数详细介绍,希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~

2024-05-07 18:47:42 355

原创 376. 摆动序列(动态规划)

在本文章中,我们将要详细介绍一下Leetcode中376. 摆动序列,在本道题目中,我们将会用动态规划的方式解决。以上就是我们对Leetcode摆动序列详细介绍,希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~

2024-05-07 16:06:02 884

原创 179. 最大数(LeetCode)

在本篇文章中,我们将会带着大家采用贪心的方法解决LeetCode中最大数这道问题!!!以上就是今天要讲的内容,本文仅仅详细介绍了 最大数这道题的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-04-28 19:06:36 1075

原创 输入输出重定向,追加重定向(Linux)

以上就是今天要讲的内容,本文仅仅详细介绍了输入输出重定向,追加重定向的内容。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘。

2024-04-27 15:07:13 499

Git 原理与使用.pdf

Git 原理与使用.pdf

2023-11-13

空空如也

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

TA关注的人

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