自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 shared_ptr八股收集 C++

具体讲一下shared_ptr自动管理内存的原理/引用计数的具体原理/shared_ptr引用计数什么时候会增加,什么时候会减少?在shared_ptr的内部维护了⼀个计数器,来跟踪有多少个shared_ptr对象指向了某⼀个资源。当计数器的值减少到0的时候,shared_ptr就会调⽤delete(或者⽤户⾃定义的⽅法)来释放资源。引用计数器何时增加:1.新建⼀个shared_ptr并指向了⼀个资源时。2.复制构造函数创建⼀个新的shared_ptr时。

2025-04-22 21:15:21 245

原创 TCP与UDP可以绑定再相同的IP与端口上互不影响

查看端口的时候我发现并不冲突,UDP是无连接的因此不会有listen和established这种状态。

2025-04-22 20:22:07 183

原创 TCP链接测试分析(linux命令分析)

主要看VIRT表示虚拟内存,RES表示物理内存,SHR表示贡献内存,此时CPU的占用率为0,CPU累计时间也为0.进程的名称为epoll_server。查看这个端口我们可以发现这个程序的进程是389853,采用的IPV4协议,还能看到FD的编号。这里主要简单实现了一下TCP的链接,我这里链接的端口是8888,我采用两个客户端去链接这个服务器。| 程序私有内存 | ~0K | <-- RES-SHR=0。| 共享库映射 | ~1408K| <-- SHR列的值。

2025-04-22 20:07:43 216

原创 C++ 程序中malloc一块区域会发生什么呢

3、分配完虚拟内存后,若未访问该区域,虚拟内存不会映射到物理内存,也就不占用物理内存。2、向操作系统申请内存的方式有,brk系统调用和mmap系统调用。1、malloc是标准库函数,不是系统调用。

2025-04-20 22:44:34 285 1

原创 MIT6.S081 riscv64-unknown-elf-gdb安装指北

这个博主写的很好。

2025-04-19 13:42:04 167

原创 日志系统的设计

在LogStream中实现Stream的拼接用于格式化输出日志,日志中包含有[时间][线程ID][文件名:行号][函数名]随后设置Logger类,这个类需要实现:1、设置当前的日志等级SetLogLevel。注意,在运行我的代码的时候需要保证写一个不能多次实例化的NonCopyable.h。在创建Logger实例子之后设置需要记录的日志等级,随后测试日志系统。时间的库主要是为了获取当前时间,记录日志的开始时间。以及一个关于事件的库TTime.cpp。对象,避免多实例导致的资源竞争。对这个代码的测试可以。

2025-03-25 15:54:02 93

原创 36.饭馆菜品选择问题 + 37.构造回文字符串问题(C++)

先对称一下之后先处理中间的倘若遇到‘a’则改写为‘z’当若已知都是‘a’会返回“-1”;不是‘a’时则减少1.

2025-01-19 12:21:54 173

原创 33.卡面求和问题(dfs+记忆化搜索)【已解决C++】

小M有 nn 张卡牌,每张卡牌的正反面分别写着不同的数字,正面是 aiai​,背面是 bibi​。小M希望通过选择每张卡牌的一面,使得所有向上的数字之和可以被3整除。你需要告诉小M,一共有多少种不同的方案可以满足这个条件。由于可能的方案数量过大,结果需要对 109+7109+7 取模。,你需要找到所有满足这3张卡牌正面或背面朝上的数字之和可以被3整除的组合数。例如:如果有3张卡牌,正反面数字分别为。

2025-01-17 10:30:21 342

原创 32.二分数字组合(回溯+dfs)【C++已解决】

【代码】32.二分数字组合(回溯+dfs)【C++已解决】

2025-01-16 16:24:43 76

原创 31.不同整数的计数问题(set+flag)【已解决】

set记录存在的数字种类,flag标志位说明是否是需要记录的数字。

2025-01-16 15:59:33 89

原创 30.组成字符串ku的最大次数

【代码】30.组成字符串ku的最大次数。

2025-01-16 15:24:54 104

原创 29.小D的‘abc’变换问题

【代码】29.小D的‘abc’变换问题。

2025-01-16 15:21:08 105

原创 28.我好想逃却逃不掉(深度优先+记录走过路径)【已解决】

工程师们早就在地上装了传送机关,虽不会伤人,却会将站在上面的人传到它指向的位置。深度优先判断所以入口的可行性,使用memo数组记录每次进去的路径,当再次踏入时说明是死循环返回false,当超出界限时返回false。对手出现了,我架紧盾牌想要防御,只觉得巨大的冲击力有如一面城墙冲涌而来,击碎了我的盾牌,我两眼发昏,沉重的身躯轰然倒地。曾经的我不过是一介草民,混迹市井,默默无名。在一个 N × M 的竞技场迷宫中,你的任务是找出在迷宫中,所有"危险位置"的数量。"危险位置"定义为:如果站在该位置上,

2025-01-16 15:12:56 452

原创 27.游戏英雄升级潜力评估

只有最小的值不可能变成英雄。

2025-01-16 10:58:06 95

原创 26.小U数字插入问题(C++已解决)

具体做法是将a与b转化为string,遍历插入的位置生成新的字符串。将字符串转化为int比较大小记录最大值。

2025-01-16 10:52:41 78

原创 25.DNA序列编辑距离(已解决)【记忆化搜索+深度优先】

当前位置的内容相同时 贪心算法不修改,递归至上一位置。对于当前位置不相同有三种测量增加删除替换对其的最小值记录到memo数组。

2025-01-15 22:24:25 107

原创 24.小R的随机播放顺序【已解决】

一比一翻译题意(删除后插入最后)

2025-01-14 16:53:02 91

原创 22.最少字符串操作次数【已解决】

分为两种情况 1.当其中的种类小于24 的时候减少两个元素消耗一次 2.当元素的种类大于24时减少一个元素的消耗为1。

2025-01-14 11:44:38 93

原创 21.环形数组中的最大贡献值

【代码】21.环形数组中的最大贡献值。

2025-01-14 11:09:28 89

原创 19.字典的最小的01字符串【贪心算法已解决】

【代码】19.字典的最小的01字符串【贪心算法已解决】

2025-01-14 10:49:37 646

原创 17.小M的数组变换 [已解决:集合记录可能存在的素数比较其的种类与数组集合大小对比] C++

【代码】17.小M的数组变换 [已解决:集合记录可能存在的素数比较其的种类与数组集合大小对比] C++

2025-01-07 16:39:42 94

原创 16.最大矩形面积问题[单调栈已解决]

用单调栈记录变大的高度,当高度小于当前记录的最大高度时,计算最大高度能组成的矩形面积。这个矩形的长是当前栈中记录的最大值,他的左边界是当前栈顶元素的前一个元素加一,他的右边界为i-1.即可计算当前面积。其中做了一个优化在数组的两边插入了两个0防止边界条件的判断。

2025-01-06 15:35:47 213

原创 15.最少前缀操作问题【已解决】

这个题目很简单,我理解的时候认为删除的操作会在任何的位置因此采用了回溯算法。实际上该问的删除操作只在结尾出产生反而使问题简单化。

2025-01-06 12:59:21 111

原创 14.数组元素之和最小化

【代码】14.数组元素之和最小化。

2025-01-04 23:09:52 96

原创 13.构造特定数组的逆序数

这个比较简单不做赘述。

2025-01-04 23:03:16 92

原创 12.最大UCC子串【贪心算法已解决】

在明确这些条件之后对字符串遍历使用std::vector<int> consume = {0,0,0};//记录代价的数量。eg:consume[0]的值表示UUC子串数量。可以发现"UCC"的消耗为0,"UC"、"CC"消耗为1,"U","C"消耗为2,""空串的消耗为三。在记录结束后用可以插入的总量分别于这些消耗对比当即可得到结果。首先明确一下插入是最好的策略,在确定后去找消耗最少得子串。

2025-01-04 19:31:19 672

原创 掘金9.超市里的货物架调整 c++解题

问题描述在一个超市里,有一个包含 nn 个格子的货物架,每个格子中放有一种商品,商品用小写字母a到z表示。当顾客进入超市时,他们会依次从第一个格子查找到第 nn 个格子,寻找自己想要购买的商品。如果在某个格子中找到该商品,顾客就会购买它并离开;如果中途遇到一个空格子,或查找完所有格子还没有找到想要的商品,顾客也会离开。作为超市管理员,你可以在顾客到来之前重新调整商品的顺序,以便尽可能多地出售商品。当第一个顾客进入后,商品位置不能再调整。你需要计算在最优调整下,最多可以卖出多少件商品。nmsc。

2025-01-02 10:06:26 787

原创 499非重叠子数组的最大和

【代码】499非重叠子数组的最大和。

2024-12-31 14:51:56 321

原创 6小E的怪物挑战

回溯法是一种通过递归探索所有可能的解决方案的策略。在这个问题中,我们可以通过回溯来探索所有的打怪顺序,寻找最大打怪数量的顺序。小E的初始血量为HH,攻击力为AA。3.为了保持战斗节奏,要求击败的怪物序列中,后一个怪物的血量和攻击力都必须严格大于前一个怪物。状态空间的设计即为每个递归步骤我们选择的“当前怪物”。递归的深度表示当前考虑到的怪物位置。2.对于每只怪物,小E可以选择与它战斗或者跳过这只怪物。在递归过程中,每次选择打怪时,都会更新当前打怪的顺序(1.小E可以击败血量和攻击力都小于她当前属性的怪物。

2024-12-29 20:19:04 463

原创 徒步旅行中的补给问题

【代码】徒步旅行中的补给问题。

2024-12-23 15:33:53 162

原创 徒步旅行中的补给问题

幸运的是,小R在路途中每天都会经过一个补给站,可以先购买完食物后再消耗今天的1份食物。然而,每个补给站的食物每份的价格可能不同,并且小R在购买完食物后最多只能同时携带。现在,小R希望在保证每天食物消耗的前提下,以最小的花费完成这次徒步旅行。另一种策略在当前节点购买x份食物,约束条件为(j+x <= k)表示为当前可以购买的食物x份:对于该策略。最后输出的结果记为到达最后一天且没有食物剩余的最小的花费对应的花费可以表示为dp[n][0].采用不购买消耗现有食物的策略,需要食物的数量大于等于1(j>=1)

2024-12-23 11:29:29 405 1

空空如也

空空如也

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

TA关注的人

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