自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划学习

主要详细讲解了动态规划的分类,和每种类型的讲解。

2024-08-19 17:15:21 232 1

原创 单调栈问题

当新元素比栈顶元素小或等于时,直接入栈;否则,一直从栈顶弹出元素,直到栈顶元素小于新元素或栈为空。当新元素比栈顶元素大时,一直从栈顶弹出元素,直到栈顶元素大于新元素或栈为空,然后将新元素入栈。因为可以循环,直接将数组进行拼接,这样就破解循环问题了,就如同前面的每日温度问题了。先找到和 nums1 对应的 nums2 数,找到后,在循环找更大的,找到就退出。我们可以先对 nums2 进行单调栈,找到他每个元素的的下一个更大的数。单调栈的核心原理是:在栈内保持元素的单调性(递增或递减)

2024-05-12 14:52:45 364

原创 回溯算法精讲

其实组合问题,最经典就是77题的组合,其他题型无非就是在此基础上加入了路径的值,或者不能重复。怎么去重?去什么的重?树枝上?还是同一树层?怎么使用visited,来判断是否经历过这个节点?// used[i - 1] == true,说明同一树枝candidates[i - 1]使用过// used[i - 1] == false,说明同一树层candidates[i - 1]使用过组合问题最基础还是77题,基本都是在此基础上的衍生。return;i<=n;i++)// 不能重复选择。

2024-05-12 14:52:23 985

原创 五大核心算法(分治、动态规划、回溯、贪心、分支限界)

详细讲解核心算法,分治算法、动态规划、回溯、贪心。讲解原理与写一个案例如何使用

2024-04-27 21:42:11 4276

原创 linux系统快速入门

快速上手linux操作

2024-04-27 21:40:05 1058

原创 数据结构与算法 (堆、栈、二叉树的秘密)

通过写小项目来讲解堆、栈、树的原理和如何使用。

2024-04-15 14:55:19 463 1

原创 数据结构和算法(哈希表和图(A*算法精讲))

哈希表和图论的算法精讲,A*算法、最短路径算法,广度遍历、深度遍历来复习图论知识点

2024-04-15 14:53:03 1393 2

原创 数据结构与算法精讲(队列详细知识精讲)

通过写高并发WEB服务器队列的应用来详细了解队列

2024-04-08 22:37:03 1237

原创 数据结构精讲(顺序表和链表的秘密)

通过完成项目来掌握链表和顺序表

2024-04-08 14:19:49 753

原创 用项目来了解Qt的秘密(项目:驾校科目一考试系统)

做一个项目来完全学会Qt基础操作

2024-04-05 21:09:40 548 1

原创 c++高级语言专题(一)

面向对象编程:就是属于吧构成问题的各个事物分解成各个对象,建立对象不是为了完成一个步骤,而是为了描述一个事物在整个解决问题的步骤中的行为。当我们把一个数据成员的存储类型指定为静态类型时,则该类产生的所有对象其静态成员均共享一个存储空间,这个空间时在编译的时候分配的。一个类作为宁一个类的友元,意味着,这个类的所有成员函数都是宁一个类的友元函数,都可以进行访问。析构函数:在对象生命周期结束时,释放系统为对象所分配的空间,即撤销一个对象。类是对象的抽象,而对象是类的具体实例。对象的类型称为类(class)。

2024-04-01 17:09:16 310 1

原创 c++语言三块核心内容(非常高级)

编译过程中,符号是不分配虚拟地址的。符号的重定向;符号原本是没有地址的,但是符号解析成功后,我们就需要堆所有符号进行分配虚拟地址,这就叫做重定向。符号什么时候分配虚拟地址?在连接过程:符号解析完成后。

2024-03-30 17:14:01 234

原创 那些你不知道的c++设计模式的秘密(非常详细)

定义:一个类里面最多就只有一个实例,并且提供一个全局访问点(通常是一个静态方法)。

2024-03-28 11:23:31 531 1

原创 windows高级开发网络编程的秘密(详细罗列)

网络结构的标准模型是OSI模型,由国际互联网标准化组织定义的网络分层型。虽然目前没有完全按照这种模型实现的网络协议栈。什么是协议栈?一个网络上运行的网络规则。通过协议栈的不同可以划分为不同层。

2024-03-15 09:13:57 321 1

原创 那些你不知道的数据库进阶知识点(非常详细)

参数列表格式: 变量名 数据类型。

2024-02-29 16:44:27 1052

原创 那些你不知道的数据库入门技巧(非常详细)

数据库:DB(DataBase)概念:数据仓库,软件,安装在操作系统之上作用:存储数据,管理数据。

2024-02-23 18:41:28 1035 1

原创 简单排序的那些事儿(c++详细讲解)

选择排序从数组的第一个元素开始,假设它已经是最小值。:在剩余未排序的元素中(从第二个元素开始),找到最小元素的索引。:将找到的最小元素与数组的第一个元素交换位置。此时,数组的前两个元素已经是最小的两个元素。:将数组的起始位置向后移动一位(即从第二个元素开始),重复步骤2和步骤3,直到整个数组排序完成。:选择排序每次遍历都能找到最小(或最大)的元素,但是它不会直接放在正确的位置上,而是通过交换的方式逐步移动到正确的位置。

2024-02-22 23:03:24 754 1

原创 c++那些你不知道的标准特性(非常重要)

auto 将变量的类型和初始值绑定在一起,而 decltype 将变量的类型和初始值分开;虽然 auto 的书写更加简洁,但 decltype 的使用更加灵活。我们定义了一个MyVector类,它包含一个std::vector类型的成员变量data,并定义了一个自定义类型的迭代器iterator。

2024-02-22 11:35:22 1017 1

原创 c++关键词(你不了解的秘密)(c++基础进阶知识点)

属于c++的基础进阶,详细讲述c++关键字的应用,对关键字的秘密详细讲述,全是重点。

2024-01-25 17:11:11 884

原创 二叉树算法

一: 二叉树基础1.1 二叉种类1.1.1 满二叉树满二叉树:就是所有节点要么为0要么为21.1.2 完全二叉树完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(h从1开始),则该层包含 1~ 2^(h-1) 个节点。因为,需要顺序,先左后右1.1.3 二叉搜索树二叉搜索树是一个有序树。若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右

2023-11-18 16:19:57 220 1

原创 数组算法讲解

s += v;在这个代码中:这个地方我就直接进行了差分方程,这样大大简化了代码运行量,不过从入门角度来讲,上文的class 类更加方便易懂。运用滑动哈希算法一边滑动一边计算窗口中字符串的哈希值,拿这个哈希值去和模式串的哈希值比较,这样就可以避免截取子串,从而把匹配算法降低为 O(N)// 文本串// 模式串// 需要寻找的子串长度为模式串 pat 的长度// 仅处理 ASCII 码字符串,可以理解为 256 进制的数字。

2023-11-12 20:42:26 71

原创 链表算法讲解

所以:我们首要自己定义链表// 单链表int val;// 节点上存储的元素// 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数。

2023-11-08 11:29:53 138 1

原创 递归算法(图灵学院)

递归、双指针算法

2023-10-22 18:03:24 121 1

原创 字符串(力扣题库)

最简单方法直接用c++库:1.strrev函数。(cstring)2.reverse函数(algorithm)3.利用string构造函数(string)string容器,自带反转为了减少直接调用库函数解决问题,采取了下列方法写出方法,通过swap字符反转也可以使用双指针法:(该方法和上述方法类似,基本是同理概念)

2023-09-27 17:07:16 59 1

原创 哈希表(力扣题解)

这是常用的容器。

2023-09-27 10:24:15 68 1

空空如也

空空如也

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

TA关注的人

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