自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(225)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++网络编程

套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口。计算机是通过TCP/IP协议进行互联从而进行通信的,为将TCP/IP协议进行隐藏,引出套接字这个概念。套接字可以看成【IP地址+端口号】

2024-03-14 21:05:15 396

原创 C++11新特性

程序在运行的时候,临时变量以及函数会放在栈中。动态创建的东西会放在堆中。栈中的东西操作系统会自动释放,堆中的东西,需要程序员手动释放。

2024-03-10 19:57:59 577

原创 Qt序列化

Qt中提供了二进制格式的序列化。对QT中原生的数据类型,例如:QString、QMap、QHash等,不需要做其它额外的操作,利用QDataStream直接就可以序列化到文件中。

2024-03-09 20:49:53 439

原创 C++Boost的序列化

date;侵入式版本{}{}return out;} date;date dr;序列化版本控制123public:CPerson();;~CPerson();private://要想序列化用户定义的类型 必须定义seriallze函数//serialzation不应该被显示调用 因为它仅在序列化或者反序列化的时候调用。

2024-03-09 20:48:34 1822

原创 Git常用操作

并且git还告诉我们 fix conflicts and then run “git rebase --continue”,意思是解决冲突然后执行git rebase --continue命令,其实git rebase --continue的正确操作应该是确认处理好冲突后则将调整好的文件添加到暂存区,并执行git rebase --continue命令告诉git,我已经解决好冲突了,那么冲突的文件中就出现了需要手动合并的部分,而git pull --rebase不同的地方则是当有这些冲突存在时,

2024-02-21 11:33:21 697

原创 结构体字节对齐

以上结构体字节对齐之后,sizeof(st1)=24。以上结构体字节对齐之后,sizeof(st)=16。按照struct中最大的基本类型的整数倍进行对齐。

2024-01-26 23:20:36 164

原创 C++设计模式

计算器抽象类,里边有两个虚方法,一个获得当前的计算结果,另一个设置操作数。其他的加减乘除类均可以继承自计算器抽象类。如果再想增加一个取余类的话,只需重复增加新的类即可,不用在原有类代码的基础上进行修改。提升了代码的可扩展性。增加新功能,通过增加代码的方式实现,而非修改源代码。

2023-12-03 20:36:36 731

原创 CMake使用教程

CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。

2025-04-06 14:21:51 613

原创 GDB调试

GDB提供了丰富的命令来实现相关功能,如break设置断点、run启动程序、next单步执行、continue继续执行、print打印变量值等。此外,GDB还支持条件断点、断点命令列表、监视点等高级功能,满足开发者在调试过程中的各种需求。

2025-04-05 18:30:25 236

原创 LCR 105. 岛屿的最大面积

DFS

2025-03-23 21:40:34 124

原创 Qt+OpenGL

【代码】Qt+OpenGL。

2025-03-01 21:02:19 239

原创 数组单次排序

给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”(“Gold Medal”, “Silver Medal”, “Bronze Medal”)。分数越高的选手,排名越靠前。空间限制:C/C++ 256M,其他语言512M。时间限制:C/C++ 1秒,其他语言2秒。

2024-10-11 18:14:21 235

原创 长度为 K 的重复字符子串数目

给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目。空间限制:C/C++ 256M,其他语言512M。进阶: 时间复杂度O(n),空间复杂度O(n)时间限制:C/C++ 1秒,其他语言2秒。长度为 K 的重复字符子串。

2024-10-11 17:33:30 296

原创 合并两个有序链表

将两个降序链表合并为一个新的 降序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。空间限制:C/C++ 256M,其他语言512M。时间限制:C/C++ 1秒,其他语言2秒。

2024-10-11 17:31:32 252

原创 DIDIDI~

am}表示,其中a表示小C 从游戏开始到第i个游戏节点所花赛的时间,m 为游戏节点的个数。请根据小 C 的速通记录计算出他的理论最佳速通时间,理论最佳速通时问指:小C在每两个相邻的游戏节点之间所花费的时间均达到了历史最佳记录,在此情况下所花费的总时间。遍历每次速通记录:对于每次速通记录,遍历每个游戏节点。第一行两个正整数 n,m,表示有 n个速通记录,每个速通记录有 m 个游戏节点接下来n行,每行 m 个正整数,第i行的第j个数 aij表示在第i次速通记录中,从游戏开始到第j个游戏节点所花费的时间。

2024-09-28 14:51:09 379 1

原创 网易雷火xx

约定:第一列为主键列(id列,唯一,从上到下保持升序)第二列为值列,所谓的差异比对就是比对的新旧两张表相同id行的值游戏的每一个版本更新,策划都会对配置表中的数据进行修改以通应游戏玩法的变化,为了避免乘划因人为失误导致配置表错误修改,需要对配置表每次变更内容都做审核,基于这个场景,请设计一个新旧配置表差异比对的程序,将左表(旧表)和右表(新表)进行差异比对,返回两张表的新增修改/删除行的信息。遍历新表的主键列,找出新增和修改的行。根据数据中的“sort1”和“sort2”字段对数组进行排序,

2024-09-21 17:36:35 704

原创 网易互娱(游戏)2018年-游戏研发/初级游戏研发/平台开发岗部分真

但是有一天小W发现钟表似乎坏了,显示了一个不可能存在的时间“98:23:00”,小W希望改变最少的数字,使得电子时钟显示的时间为一个真实存在的时间,譬如“98:23:00”通过修改第一个’9’为’1’,即可成为一个真实存在的时间“18:23:00”。小W有一个电子时钟用于显示时间,显示的格式为HH:MM:SS,HH,MM,SS分别表示时,分,秒。如果钟表显示的时间为真实存在的时间,则不做改动输出该时间,否则输出一个新的”HH:MM:SS”,表示修改最少的数字情况下,字典序最小的真实存在的时间。

2024-09-20 21:56:23 553

原创 迷宫最短路径DP

3、迷宫中可能存在单向门,用特殊字符 (如’D’表示向下可通行的单向门,"U"表示向上可通行的单向门,L和R分别表示左右)标记在空地单元格上。1、网格中每个单元可以是空地(0表示),墙壁(1表示),起点(S表示,只有一个),终点(E表示,只有一个)。请设计一个算法,找出从起点到终点的最短路径,并返回该路径的长度(以步数计)。如果不存在路径,则返回-1.输出一个整数,表示从起点到终点的最短路径长度(含起点)。如果不存在路径,则输出-1。2、玩家可以从空地移动到相邻的四个方向(上下左右)的空地,但是不能穿墙。

2024-09-11 22:21:57 517

原创 BFS迷宫最小路径问题

由于我们需要求得左上角到右下角的最短路径,那么我们可以使用一个二维数组标记从哪个方向到达的当前网格(且可以通过该二维数组确认当前网格是否已经被访问,如果被访问过,则无需再次访问,因此第一次访问的就是最短的),最终通过从终点到起点的逆序搜索,即可得到最短的逆序路径。从以上分析可以看出,该步骤是按照一个广度优先搜索的方式进行的,而广度优先搜索讲究的是先访问的亦先被访问。因此使用队列存储当前步骤下可以走的网格,并对可以走的网格进行上述的迭代。

2024-09-10 18:24:46 527

原创 有序数组去重

给定一个字符串,字符串是有序的整数集合,逗号相连,移除相同的数字,使每个数字只出现一次,输出最终的数字个数。空间限制:C/C++ 32M,其他语言64M。时间限制:C/C++ 1秒,其他语言2秒。

2024-09-04 21:41:26 295

原创 对给定数组所对应的二叉树依次完成前序,中序,后序遍历,并输出遍历结果。

注意二维数组中的结果依次为:前序,中序,后序遍历的结果,Nil(-1)节点不用输出。结果以二维数组形式输出(前序,中序,后序遍历的结果),其中Nil节点不用输出。空间限制:C/C++ 256M,其他语言512M。时间限制:C/C++ 1秒,其他语言2秒。

2024-09-03 17:51:56 348

原创 80. 删除有序数组中的重复项 II

否则,快指针所指元素==慢指针-2指向的元素,快指针后移,直至遇到不相等的元素,再将其覆盖慢指针-2指向的元素;解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。

2024-09-01 16:27:24 415

原创 226. 翻转二叉树

【代码】226. 翻转二叉树。

2024-08-29 15:45:49 181

原创 763. 划分字母区间

贪心法

2024-08-29 15:31:53 296

原创 208. 实现 Trie (前缀树)

boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix ,返回 true;boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);// 返回 False。// 返回 True。

2024-08-28 18:35:28 380

原创 139. 单词拆分

解释: 返回 true 因为 “applepenapple” 可以由 “apple” “pen” “apple” 拼接成。解释: 返回 true 因为 “leetcode” 可以由 “leet” 和 “code” 拼接成。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。注意,你可以重复使用字典中的单词。

2024-08-24 22:48:44 404

原创 棋盘控制搜索

注意:查找的单元格不包含自身,且单元格左上角从(1,1)开始。l 从当前单元格向左搜索。r 从当前单元格向右搜索。u 从当前单元格向上搜索。d 从当前单元格向下搜索。c 将单元格改为黑色。

2024-08-24 18:14:34 250

原创 32. 最长有效括号

1、对于遇到的每个 ‘(’ ,我们将它的下标放入栈中。解释:最长有效括号子串是 “()()”解释:最长有效括号子串是 “()”初始化栈顶元素为-1。

2024-08-24 15:51:54 356

原创 输入一个序列,返回所有可能的出栈序列

递归调用返回后,需要“撤销”这次操作,即把之前从栈顶取出的字符重新压回栈中,并从tem中移除这个字符,以便尝试其他可能的序列。从给定的字符串str中选取字符,并以不同的顺序压入栈中,然后依次从栈中弹出字符到临时字符串tem中,直到tem与str完全相同为止。递归调用返回后,同样需要“撤销”这次操作,即弹出栈顶的字符,并递减index。1、结束条件:如果临时字符串tem的大小与给定字符串str的大小相同,说明已经成功生成了一个与str相同的序列,此时将这个序列添加到结果集res中,并返回。

2024-08-23 22:47:40 300

原创 魔法糖果工厂

【代码】魔法糖果工厂。

2024-08-22 23:02:07 308

原创 54. 螺旋矩阵

2、其次,根据边界和是否访问过作为约束条件,控制转向;1、首先,根据每次转弯的行列索引变化总结转向矩阵;3、最后,直至结果集元素个数达到上限,即遍历结束。根据已知结果集中存储数据个数进行循环遍历。

2024-08-11 18:56:26 177

原创 92. 反转链表 II

3、将【left+1,right】之间的所有节点使用头插法插入,插入过程中注意保存cur的下一个节点(即cur->next=cur->next->next)2、将pre移动left-1次,使得pre指向left位置前一个节点,那么cur即为left位置的节点;1、定义一个头节点dummyNode,头节点的next指向head;

2024-08-07 17:57:21 188

原创 155. 最小栈

-> 返回 -3.minStack.getMin();--> 返回 -2.void push(int val) 将元素val推入堆栈。int getMin() 获取堆栈中的最小元素。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。MinStack() 初始化堆栈对象。

2024-07-28 19:44:05 202

原创 41. 缺失的第一个正数

请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。解释:范围 [1,2] 中的数字都在数组中。解释:1 在数组中,但 2 没有。解释:最小的正数 1 没有出现。

2024-07-28 18:29:15 254

原创 25. K 个一组翻转链表

k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。进阶:你可以设计一个只用 O(1) 额外内存空间的算法解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

2024-07-27 16:19:24 410

原创 53. 最大子数组和

解释:连续子数组 [4,-1,2,1] 的和最大,为 6。dp[i]表示:以nums[i]元素结尾的最大子数组的和;子数组是数组中的一个连续部分。

2024-07-19 15:08:54 200

原创 TCP 粘包

发送方准备发送 「Hi.」和「I am Xiaolin」这两个消息。在发送端,当我们调用 send 函数完成数据“发送”以后,数据并没有被真正从网络上发送出去,只是从应用程序拷贝到了操作系统内核协议栈中。至于什么时候真正被发送,取决于发送窗口、拥塞窗口以及当前发送缓冲区的大小等条件。也就是说,我们不能认为每次 send 调用发送的数据,都会作为一个整体完整地消息被发送出去。

2024-07-19 09:23:36 348

原创 76. 最小覆盖子串

解释:最小覆盖子串 “BANC” 包含来自字符串 t 的 ‘A’、‘B’ 和 ‘C’。对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。解释: t 中两个字符 ‘a’ 均应包含在 s 的子串中,如果 s 中存在这样的子串,我们保证它是唯一的答案。因此没有符合条件的子字符串,返回空字符串。解释:整个字符串 s 是最小覆盖子串。

2024-07-18 18:40:52 236

原创 239. 滑动窗口最大值

滑动窗口的位置 最大值。

2024-07-18 17:34:16 243

原创 438. 找到字符串中所有字母异位词

起始索引等于 0 的子串是 “cba”, 它是 “abc” 的异位词。起始索引等于 6 的子串是 “bac”, 它是 “abc” 的异位词。起始索引等于 0 的子串是 “ab”, 它是 “ab” 的异位词。起始索引等于 1 的子串是 “ba”, 它是 “ab” 的异位词。起始索引等于 2 的子串是 “ab”, 它是 “ab” 的异位词。

2024-07-12 20:25:54 317

C++音频实时收集处理portaudio

使用portaudio实现采集麦克风音源,计算采集人声声音的db值,在不同音量设置下,标定db值,与距离数据关联,采用KNN算法,根据现场采集的人声声音,判断人与MIC的距离。目标:现实中需要判断人声音源距离判断是否需要进行识别处理。

2024-08-16

Qt-双链表的插入及排序

使用Qt实现的双链表插入及排序,通过界面添加并展示

2023-09-24

android的chrome

android的chrome

2023-08-10

EDA-《8-3优先译码器》

EDA-《8-3优先译码器》

2023-07-07

EDA实现的多路选择器MUX21a

EDA实现的多路选择器MUX21a

2023-07-07

卷积神经网络LSTM-pytroch

卷积神经网络LSTM-pytroch

2023-07-07

卷积神经网络LSTM算法

卷积神经网络LSTM算法

2023-07-07

K-means聚类算法

K-means算法,聚类基础版本

2023-07-07

基于微信小程序、JavaWeb和嵌入式搭建的智能灯控系统

基于微信小程序、JavaWeb和嵌入式搭建的智能灯控系统

2022-03-15

《基于C/C++的学生信息管理系统》

《基于C/C++的学生信息管理系统》

2022-03-13

空空如也

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

TA关注的人

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