自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 克隆虚拟机,xshell无法传文件,windows无法ping克隆虚拟机,已解决

这一步查看ipconfig时发现与自定义的ip地址略有差别,难怪一直ping不通,末尾由我自定义的133变成了132,设置好以太网的ip地址后,用新的ip地址ping就可以ping通了。自定义ip地址,在合理的范围内自己定义一个,先用ifconfig查看ens33 ip地址,根据这个数值自定义,这一步容易出现问题,后面解决了。启用了以太网,先禁用再启用,看别的博客这么做能行的通,类比先关闭网络再打开的操作。但是windows下无法ping 自定义的克隆虚拟机ip地址。,只参考了第二条与第五条。

2024-09-16 10:59:34 457

原创 wireshark打开时空白|没有接口,卸载重装可以解决

甚至cmd下运行net start npf时显示服务名无效,但打开wireshark仍有多个接口。解决方法:卸载wireshark,全选卸载干净,重新安装旧版的wireshark4.2.7,一开始下载的是wireshark的最新版,win11 x64。在安装wireshark过程勾选了安装npacp。员模式cmd输入net start npf。服务启动,但是wireshark仍没有接口。最后卸载重装是解决了该问题。

2024-09-12 13:58:06 474

原创 力扣 1425带限制的子序列和

1维护队头 if(i-sta.front() == k) sta.pop_front();这是一道 动态规划加单调队列的题,重点加强单调队列知识的学习。回归本题,这个题中,动态规划的部分略去,状态转移方程可求。3计算过程,动态规划。

2024-08-21 22:40:49 222 1

原创 obsidian打开为空白,已解决

找到目录:C:\Users\自己的名字\AppData\Roaming\obsidian。重新打开obsidian。

2024-08-06 16:30:49 243

原创 力扣 239. 滑动窗口最大值

while判断当前的元素是否比window队尾的元素大,如果大就弹出队尾元素,直到元素为空为止,要维护窗口的大小,当队列不为空时,把下标小于i-k(窗口的前端下标)的元素弹出。window队头元素为滑动窗口的最大值索引,push_back到res结果中。window中元素在未形成滑动窗口时逐渐增大到k,形成后在0-k之间变动。用双端队列来维护这个滑动窗口,用res记录窗口内的最大值。同样用window维护滑动窗口中较大值的下标。分两步走,未形成滑动窗口时、形成滑动窗口时。形成滑动窗口后,i从k开始遍历。

2024-07-26 23:49:50 158

原创 力扣 150. 逆波兰表达式求值

其实就分别用num1,num2来接着就行,类型用longlong,top获取,pop()弹出。注意类型 因为vector<string>类型的tokens,用string。遇到数字用stoll(num),把数字转为longlong类型。也没想到四种类型操作符怎么处理,if语句分类处理就行。用一个栈,每次遇到运算符,都处理前面入栈的两个数字。想要取两次栈顶元素,一开始没想到怎么操作。

2024-07-26 12:18:18 162

原创 力扣 1047删除字符串中的所有相邻重复项

用result接收mystack.top() 的元素,pop()仅弹出元素,通常与top配合使用。用栈来实现,遍历s,如果当前元素与栈顶元素相同,则弹栈,否则入栈。栈内剩下的元素全部弹栈,再翻转。代码方面:元素入栈的情况 if。不要写成mystack.pop。

2024-07-26 11:15:37 232

原创 力扣 20有效的括号

1未熟练掌握unordered_map的用法,思路上想用一个数据结构表示不同的括号与数字的对应关系,不知道怎么写,哈希表。最后判断stack是否为空,即没有多余的左括号这种不匹配情况,至此三种不匹配情况都包含了。如果括号两两匹配,则true,如果不匹配或者不按着顺序匹配( [ )],则false.不匹配的情况有三种,左括号数量多余,左右数量相等但不匹配,右括号数量多余。有两种不匹配情况,一种是右括号多余,另一种是不匹配,则返回false。,unordered_map键的存储是无序的,查找效率比较高。

2024-07-26 09:41:42 450 2

原创 力扣 232用栈实现队列

peek获取最上元素,复用int result = this->pop()因为这一步的弹出,再把元素放回 stout.push(result) 返回该元素return result。push 正常操作 stin.push(),只要元素入栈就行,stout元素入栈是其他步骤的事。pop()出队列,思路是,当stout为空时,依次弹出stin上方元素知道stin为空,弹出最上面元素包含两步先获取最上面的元素top(),再弹出pop()判空,如果两个栈都是空的,那么就空了。

2024-07-24 19:15:51 465

原创 链表章节总结

刷题出错细节:1.注意判断是否有环,while判断保证fast、fast后一位不为空,因为fast= fast->next->next;链表添加元素,先后再前,例如在cur指针后面添加元素newnode,newnode->next = cur->next,cur->next = newnode。链表删除元素,删除cur指针后面的元素cur->next = cur->next->next;与数组的对比:数组插入删除效率O(N),查找O(1),链表插入删除效率O(1),查找O(N)

2024-07-24 17:38:25 166

原创 力扣 19删除链表倒数第N个结点

具体删除时,应该注意如果倒数第N个结点是头结点的话,slow指向的就是头结点,没有吧办法用。双指针法,快指针用于与慢指针拉开距离,慢指针用于删除元素,越过慢指针后面的元素。再同时移动fast与slow,直到fast移动到最后,用slow删除元素。slow->next = slow->next->Next删除。需要添加虚拟头结点,因此fast向后移动n+1个位置。

2024-07-22 23:18:54 330

原创 力扣 27移除元素

题目需要在原数组的基础上,移除等于val的元素,并返回数组移除后的元素数。如果当前元素等于val,fast自增是写在for循环中的,slow不变。用双指针遍历,for循环遍历,fast先行。如果不等,fast ,slow同时移动。

2024-07-22 15:32:36 359

原创 力扣 459重复的子字符串

而求重复的子字符串就是求字符串的最大前缀与最大后缀之间的子字符串。next数组代表的是当前字符串最大前后缀的长度。如果这个子字符串是字符串长度的约数,则true。KMP算法的核心是求next数组。

2024-07-22 13:39:12 284

原创 力扣 28找到字符串中第一个匹配项的下标 KMP算法

思路:朴素匹配有很多步骤是多余的KMP算法能够避免重复匹配KMP算法主要是根据子串生成的next数组作为回退的依据,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。这里讲一下为什么用模式串的最大公共前后缀求解NEXT数组,参考B站木子喵NEKO的视频【【neko算法课】KMP算法【7期】】 https://www.bilibili.com/video/BV1234y1y7pm/?

2024-07-21 22:54:58 463

原创 力扣 151反转字符串中的单词

单词前面有空格,后面有空格,中间有多余空格。

2024-07-20 22:16:26 167

原创 力扣 541反转链表2

注意边界条件,反转k个,下标是i+k-1,例如0-3是前4个,反转前两个,是0-1。如果字符正好2k个,那就去翻转前k个,如果字符不足2k个,那取前K个翻转。因此先写翻转函数,再按着要求翻转。2k个字符中前k个翻转。

2024-07-17 18:38:03 239

原创 力扣 字符串章节 344反转字符串

如果长度是偶数,循环到str.size()/2,全部参与反转。如果长度是奇数,循环到str.size()/2,中间值不动。字符串用数组的形式存储,数组长度分奇数和偶数两种。编写一个函数,将输入字符翻转过来,原地修改。反转函数是对整个数组修改,因此采用地址传递。函数体就是swap(s[i],s[j])扩展部分参考这篇链接。

2024-07-17 16:42:12 236

原创 力扣 哈希表刷题回顾

set 与muti_set底层都是红黑树,并且key有序,muti_set特殊在key可以重复,他们的查找和删除时间复杂度都是O(Log(n))map与muti_map 底层是红黑树,key有序,muti_map的key可以重复,查找删除效率为O(log(n))注意,定义unordered_map set1;而unordered_set 底层是哈希表,key无序,key不可以重复,查找删除时间复杂度为O(1)map也分三种,map ,unordered_map,muti_map。

2024-07-13 13:42:44 256

原创 力扣 383赎金信

遍历ransomNote中每个字符,如果能在map中找到,则对应value减一,如果字符对应的value小于零,意味着magazine中找不到与ransomNote里这个字符对应的字符,返回false。思路,用unordered_map存储magazine中字符以及字符出现的次数。

2024-07-12 10:23:23 237

原创 力扣 454四数相加

用unordered_map存储,key是num1,num2中数字相加之和,value是值出现的次数。用count存,同理对num2 num3循环,找到等于零的,count累加。这个题给了四个数组,可以两两判断,就类比两数相加那道题了。最后要计算四个数组相加等于零出现的次数。对于num1 num2。

2024-07-11 22:23:51 281

原创 力扣 1两数之和

这个题目没有要求key有序(key是nums[i]),且key不可重复,为了提高查找效率,选用unordered_map。map中插入key value对用map.insert(pair<int,int>(nums[i],i));问题是 map,unordered_map, muti_map用哪一个呢?需要在这个中找到 nums中数字下标,累加和等于target。对于map中value的部分,用iter->second。也就是说既要数字下标,又要nums中数字,还要查找。

2024-07-11 21:27:45 179

原创 力扣 202快乐数

找到重复出现的数,用set.find(n)!= set.end()另一个是判断是否为快乐数的依据是是否在哈希表中找到已经出现过的数。2查找一个数是否出现,用哈希表unordered_set ,sum = N除以十取余的平方和。插入用set.insert。一个是求n各个位上平方和。1求各个位上平方和方法。快乐数这题有两个关键。循环终止条件是n=0。

2024-07-11 20:47:26 211

原创 力扣 242有效字母异位词

注意是num-'a'代表字符a对应的数字0,出现一次存放record数组中。用数组存放每个单词出现的次数。注意最后判断,用的是int。对于s,t中的每个字符串。

2024-07-10 22:34:54 108

原创 力扣 160相聚链表

注意,while循环的退出条件是AB指针指向同一个,如果没有相交,仍然可以退出。其中A = A== nullptr?当AB都为NULLPTR时退出。

2024-07-10 20:00:09 222

原创 力扣 24两两交换链表中节点

注意判断时先判断cur->next!= nullptr,再判断cur->next->next!注意末尾返回dumyhead->next,用新建result指针来接并返回。

2024-07-10 16:34:45 360

原创 力扣 203反转链表

用cur->next指向pre,把链表倒转。注意用tmp存储原链表中cur的后一个。cur后移,cur指向原链表的下一个。

2024-07-10 10:24:09 188

原创 力扣 设计链表707

如果要在index = 3前面添加元素,则newnode->next = cur->next cur->next = newnode,顺序不可变。注意索引index ,获取index下标值时,非法判断 index >size-1。注意private定义时,定义ListNode *dummyHead。如果在链表末尾添加元素,cur->next = newnode。当到达边界时,cur从零开始,index = 0,cur=2。注意删除时,操作完毕后再delete tmp。循环结束,cur指向链表的末尾,

2024-07-09 22:41:48 274

原创 力扣 移除链表元素

2024-07-07 20:25:14 80

原创 apollo自动驾驶_虚拟机扩展_扩展时报错:虚拟机需要修复

配置:win11 vmware15.5 ubuntu 18.04起因:vscode中更新代码时代码无法保存,提示内存已满准备扩展虚拟机扩展时,报错是:指定的虚拟磁盘需要修复因为找不到vmware的位置耽误了很多时间(呆)搜索vmware右键打开文件地址,跳转到快捷方式,右键属性,查看目标内文件的位置就是vmwarewen文件夹在windows下用vmware-vdiskmanager.exe修复,磁盘并没有问题再次打开虚拟机扩展,虚拟机又报错。

2024-06-14 22:04:04 276

原创 apollo自动驾驶省赛 fail to pull docker image实则没联网

这篇的下面的步骤,运行到第四步骤发现文件为空,直接跳过,执行第五步,问题解决。这一步出现问题,以为是dns的问题,排除以后,发现是虚拟机没有联网,按着。

2024-05-29 15:42:04 162

原创 apollo 自动驾驶比赛系统安装 ubuntu18.04.6虚拟机扩容

apollo 自动驾驶比赛系统安装 ubuntu18.04.6虚拟机扩容

2024-05-27 22:25:35 258

原创 二叉树的遍历——彻底悟了

【【纯干货】三分钟教会你遍历二叉树!(2)给一个二叉树要求写其前序遍历,中序遍历,后续遍历中的任何一种。(2)给一个二叉树要求写其前序遍历,中序遍历,后续遍历中的任何一种。首先(1)根据前序遍历,中序遍历,求后续遍历(已知两个求另一个)(1)根据前序遍历,中序遍历,求后续遍历(已知两个求另一个)参考B站一个视频,讲的很透彻,比我讲的好,省的我画了。算法题方面,不涉及编程,大概有两种题。

2023-11-08 13:56:58 94

原创 c#经典例题,猫大叫一声,所有老鼠一看到开始逃跑,主人看到老鼠惊醒

定义抽象类Observer ,老鼠和主人分别继承自抽象类,事件发生,委托实例得到通知,分别有不同的反应方法 Response()不太明白FireAway方法的意思。定义猫类,有miao()这个方法。下面是运行成功的代码。

2023-10-24 22:50:25 171

原创 leetcode739每日温度

单调栈就是为所存储的数据单调递增或者单调递减的栈,作用是线性记录已经遍历过的数据,方便将正在遍历的数据和原有的比较。

2023-09-28 10:35:19 153

原创 leetcode234.回文链表

2快慢指针,快指针一次两步,慢指针一次一步,pre指针用于切分链表,写一个函数用来翻转链表,翻转后两个链表进行对比,如果链表是奇数个,切分后的链表多一个。1将链表中的元素存入数组进行比较。判断一个链表是否是回文链表。

2023-09-26 10:37:26 69

原创 leetcode232.用栈实现队列

对于实现队列的pop函数而言,当stout不为空的时候,把stin的元素依次放入stout中,直到stin为空,再从stout依次出栈。对于peek()而言,复用pop()函数,别忘把这个弹出来的元素加回去,返回这个元素。对于实现队列的push函数而言,只要把stin栈的元素依次入队列就行。用两个栈实现队列,一个输入栈,一个输出栈。

2023-09-25 11:24:00 34

原创 leetcode145. 二叉树的后序遍历

【代码】leetcode145. 二叉树的后序遍历。

2023-09-23 11:08:10 53

原创 leetcode144二叉树的前序遍历

用一个数组承接栈内元素,迭代的退出条件是节点为空,迭代的逻辑是先根节点,再右节点出栈,左节点出栈,这样能实现根左右。

2023-09-23 11:00:22 31

原创 leetcode20有效的括号

检测括号是否闭合,利用到栈的先进后出的性质,判断条件:栈不为空 且 遇到可以组合的括号时。用一个哈希表存储括号和对应的键,,判断字符串是否有效。

2023-09-15 10:33:37 54

原创 leetcode二叉树的中序遍历

定义inorder(root)表示当前遍历到root节点的答案,按着定义,只要递归调用inorder(root.left)来遍历root节点的左子树,然后将root节点的值加入答案,再递归调用inorder(root.right)来遍历root节点的右子树。中序遍历:左子树 根 右子树,对于每个节点也是这个方法。利用递归的思想,迭代的方法还不太会。给定一个二叉树的根节点。结束的条件是空节点。

2023-09-14 15:05:28 44

空空如也

空空如也

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

TA关注的人

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