自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 协程库-IO协程调度器

共享指针提供了自动内存管理的功能,但在某些特殊情况下,为了确保资源被正确释放,使用自定义删除器函数。

2024-04-21 19:14:50 660

原创 协程库-协程调度器类

协程调度的实现

2024-04-05 11:15:15 1025

原创 协程库-锁类-实现线程互斥同步

使用互斥量时,

2024-03-27 15:00:14 783

原创 C++复习 移动语义和右值引用

还可能一些剩下未移动的元素。这时,

2024-03-14 09:07:54 929

原创 C++智能指针的使用及底层实现原理

弱引用:用来记录当前有多少个正在观察该对象的weak_ptr,

2024-03-11 21:48:10 391

原创 协程库项目—协程类模块

ucontext_t结构体、非对称协程。

2024-03-10 21:08:27 674

原创 C++复习笔记——泛型编程模板

函数模板利用关键字 template使用函数模板有两种方式:自动类型推导、显示指定类型int a = 10;int b = 20;//利用模板实现交换//1、自动类型推导//2、显示指定类型mySwapint(a, b);模板的目的是为了提高复用性,将类型参数化使用模板时必须确定出通用数据类型T,并且能够推导出一致的类型函数模板在自动推导时不可以进行隐式类型转换//利用模板提供通用的交换函数T temp = a;a = b;b = temp;

2024-03-06 14:44:52 859

原创 C++复习笔记——多态

1 多态基本概念:静态多态:编译时多态,运算符重载和函数重载动态多态:运行时多态,派生类重写基类的虚函数实现静态多态和动态多态的区别就是函数地址是早绑定(静态联编,静态绑定)还是晚绑定(动态联编,动态绑定)。如果函数的调用,在编译阶段就可以确定函数的调用地址,并产生代码,就是静态多态(编译时多态),就是说地址是早绑定的。而如果函数的调用地址不能编译不能在编译期间确定,而需要在运行时才能决定,这这就属于晚绑定(动态多态,运行时多态)。动态多态的实现和使用动态多态满足条件:派生类重写基类的虚

2024-03-03 08:44:51 343

原创 协程库项目—日志模块

如果正在解析常规字符,则将之前的常规字符串添加到patterns中,并将parsing_string设置为false;如果正在解析模板字符,则将当前的”%“作为模板字符添加到patterns中,并将parsing_string设置为true。如果正在解析模板字符,则将当前字符作为模板字符添加到patterns中,并根据不同情况进行特殊处理。在解析模板字符的过程中,如果遇到”%d",则需要进一步解析日期格式字符串。最后,根据解析得到的模式项创建相应的格式化项对象,并将其添加到m_items中。

2024-03-02 20:20:35 645

原创 代码随想录算法训练营第二十八天补|93.复原IP地址 ● 78.子集 ● 90.子集II

组合问题:集合内元素的组合,不同集合内元素的组合分割问题:本质还是组合问题,注意一下如何分割字符串。

2024-03-01 11:18:26 476

原创 代码随想录算法训练营第二十七天补|39. 组合总和 ● 40.组合总和II ● 131.分割回文串

组合问题:集合内元素的组合,不同集合内元素的组合分割问题:本质还是组合问题,注意一下如何分割字符串。

2024-02-27 20:57:25 368

原创 代码随想录算法训练营第二十五天补|216.组合总和III ● 17.电话号码的字母组合

组合问题:集合内元素的组合,不同集合内元素的组合。

2024-02-25 17:06:17 277

原创 代码随想录算法训练营第二十四天补|● 回溯理论基础 ● 77. 组合

回溯

2024-02-24 09:29:13 420

原创 代码随想录算法训练营第二十三天补|669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

平衡树、二叉树、灵活应用中序遍历(值大小有序)

2024-02-23 10:50:22 180

原创 代码随想录算法训练营第二十二天|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

235. 二叉搜索树的最近公共祖先发现规律:当我们从上向下去递归遍历,第一次遇到 cur节点是数值在[p, q]区间中,那么cur就是p和q的最近公共祖先。class Solution {public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(root == NULL) return NULL; if((p->val >= r

2024-02-01 18:27:41 1205

原创 代码随想录算法训练营第二十一天| 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先

二叉搜索树:中序序列严格递增。

2024-01-31 16:38:04 1066

原创 代码随想录算法训练营第二十天| ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树

层序遍历、回溯·、由两种遍历序列逆推二叉树。

2024-01-30 19:16:09 1186

原创 代码随想录算法训练营第十八天| 513.找树左下角的值 ● 112. 路径总和 ● 106.从中序与后序遍历序列构造二叉树

层序遍历。

2024-01-28 18:35:47 345

原创 代码随想录算法训练营第十七天| 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和

栈 以下题目主要是利用栈的特性注意事项:1、要确定栈非空才能访问栈顶元素,否则越界。

2024-01-26 22:35:42 865

原创 代码随想录算法训练营第十六天| 104.二叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数

每遍历到一个新节点,先分别递归向左遍历和递归向右遍历的深度,若递归向左遍历的深度等于递归向右遍历的深度,则以该节点作为根节点的二叉树(前提是完全二叉树)是满二叉树,节点数=2^深度 -1;●二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数(取决于高度从0开始还是从1开始)●二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)若递归向左遍历的深度等于递归向右遍历的深度,则以该节点作为根节点的二叉树(前提是完全二叉树)是满二叉树。

2024-01-25 19:16:32 1449

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

因为我们要比较的是根节点的两个子树是否是相互翻转的,进而判断这个树是不是对称树,所以要比较的是两个树,参数自然也是左子树节点和右子树节点。此时才进入单层递归的逻辑,单层递归的逻辑就是处理 左右节点都不为空,且数值相同的情况。● 比较二叉树外侧是否对称:传入的是左节点的左孩子,右节点的右孩子。● 如果左右都对称就返回true ,有一侧不对称就返回false。翻转二叉树,即在每次递归时将左右子树进行互换。遍历方式是前序遍历。● 比较内侧是否对称,传入左节点的右孩子,右节点的左孩子。

2024-01-25 18:53:52 1167

原创 代码随想录算法训练营第十四天| 递归遍历 ● 迭代遍历 ● 统一迭代

递归遍历、层序遍历。

2024-01-24 19:01:15 1122

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

栈 以下题目主要是利用栈的特性注意事项:1、要确定栈非空才能访问栈顶元素,否则越界。

2024-01-23 19:05:17 1310

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

栈 以下题目主要是利用栈的特性注意事项:1、要确定栈非空才能访问栈顶元素,否则越界。

2024-01-20 20:16:23 1153

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

外) 重新添加到队列尾部,此时再去弹出元素就是栈的顺序。

2024-01-19 20:58:22 1371

原创 代码随想录算法训练营第九天|28. 实现 strStr() 、459.重复的子字符串

双倍字符串的解法:字符串为s,将s+s得到双倍字符串,使用find()函数从下标为1的位置开始查找,若存在循环则会返回s以内字符的下标;否则返回第二个s的首字符下标。1、暴力:将长字符串的每个字符开头的子字符串(长度为短字符串的长度)遍历与短字符串比较。时间复杂度由string的find的时间复杂度决定,好像不同版本的编译器实现算法不同。2、KMP(在一个长串中查找是否出现过另一个串)时间复杂度:O(nm)

2024-01-19 19:35:05 1328

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

双指针、三数之和、四数之和、剪枝去重最重要的收获是如何适当的去重。

2024-01-17 22:47:58 1245

原创 代码随想录算法训练营第七天| 454.四数相加II 、 383. 赎金信、 15. 三数之和 、18. 四数之和

map(映射)、双指针、三数之和、四数之和、剪枝去重。

2024-01-17 18:57:36 1823

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

常见的三种哈希结构:vector数组、set (集合)、map(映射)

2024-01-15 21:08:27 1314

原创 代码随想录算法训练营第五天| 总结数组专题

有序:考虑二分、双指针连续子数组、子序列:考虑滑动窗口模拟:坚持循环变量不变原则,更新每圈的初始位置和每圈的四条边长度。

2024-01-14 12:06:33 409

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

文档讲解:三指针,快慢指针,链表相交,环形链表。

2024-01-13 22:49:02 1479

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

文档讲解:双指针(左右指针),滑动窗口。

2024-01-12 23:57:21 1316

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

文档讲解:双指针(左右指针),滑动窗口。

2024-01-12 00:10:11 1249

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

二分查找、快慢指针

2024-01-10 23:21:39 1319

原创 Socket connect阻塞导致连接超时过长

在项目中,机械臂作为服务端,软件程序编写一个客户端进行连接,connect连接出现有异常时客户端线程阻塞时间过长;

2023-12-21 19:49:47 1200

原创 Win10+ GTX1650 +CUDA11.2+python3.7安装openpose1.7 实现openpose python api调用

Win10+ GTX1650 +CUDA11.2+python3.7安装openpose1.7 实现openpose python api调用

2022-04-03 20:35:05 4782 5

原创 自定义类用来设置主窗口的UI的布局——Label等组件

问题描述:在自定义类使用主窗口UI指针时显示ui指针对象不完整报错,但在自定义类中已导入"widget.h";

2022-03-17 16:03:30 244

原创 C++primer 5th 带符号类型和无符号类型混用造成结果出错问题

带符号类型和无符号类型混用C++ prinmer提示切勿混用带符号类型和无符号类型,原因是当带符号类型与无符号类型混用时,带符号类型数据会自动转换成无符号类型,当带符号类型取值为负时会出现异常结果。从计算机储存角度来看即是在寻址取值时自动将带符号类型数据当做无符号类型数据处理举例说明,由于计算机储存的是数据的补码,故-1的补码是11111111,而无符号数255的补码也为11111111由于类型的不同,取值的处理也不同,若明确类型为带符号类型int,则在取值时会将补码11111111取反再加

2022-03-11 17:18:38 537

原创 FFmpeg下载(windows版本)

FFmpeg下载(windows版本)良心博主,必须传播一下转载https://blog.csdn.net/qq_27081181/article/details/100942349?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_default&depth_1-utm_source=distribu

2022-03-06 16:42:58 582

原创 力扣刷题日常总结python

NC78 反转链表描述输入一个长度为n链表,反转链表后,输出新链表的表头。数据范围 n\leq1000n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回ListNode de

2021-10-01 15:34:54 105

空空如也

空空如也

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

TA关注的人

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