自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣 27移除元素

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

2024-07-22 15:32:36 157

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

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

2024-07-22 13:39:12 117

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

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

2024-07-21 22:54:58 261

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

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

2024-07-20 22:16:26 63

原创 力扣 541反转链表2

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

2024-07-17 18:38:03 223

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

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

2024-07-17 16:42:12 222

原创 力扣 哈希表刷题回顾

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 235

原创 力扣 383赎金信

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

2024-07-12 10:23:23 196

原创 力扣 454四数相加

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

2024-07-11 22:23:51 257

原创 力扣 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 156

原创 力扣 202快乐数

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

2024-07-11 20:47:26 179

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

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

2024-07-10 22:34:54 83

原创 力扣 160相聚链表

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

2024-07-10 20:00:09 208

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

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

2024-07-10 16:34:45 328

原创 力扣 203反转链表

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

2024-07-10 10:24:09 170

原创 力扣 设计链表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 247

原创 力扣 移除链表元素

2024-07-07 20:25:14 61

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

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

2024-06-14 22:04:04 262

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

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

2024-05-29 15:42:04 137

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

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

2024-05-27 22:25:35 238

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

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

2023-11-08 13:56:58 88

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

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

2023-10-24 22:50:25 159

原创 leetcode739每日温度

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

2023-09-28 10:35:19 101

原创 leetcode234.回文链表

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

2023-09-26 10:37:26 57

原创 leetcode232.用栈实现队列

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

2023-09-25 11:24:00 27

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

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

2023-09-23 11:08:10 29

原创 leetcode144二叉树的前序遍历

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

2023-09-23 11:00:22 23

原创 leetcode20有效的括号

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

2023-09-15 10:33:37 25

原创 leetcode二叉树的中序遍历

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

2023-09-14 15:05:28 31

原创 2023年最新 visual studio配置FFMPEG开发环境(vs2019 下载ffmpeg开发包 配置ffmpeg)

从 2020.09.18 开始原来的 https://ffmpeg.zeranoe.com/builds/ 已经彻底关闭。剩下参考这几篇文章的内容,FFMPEG 头文件 静态链接库 ( .lib ) 动态链接库 ( .dll ) 文件处理。新的编译下载地址移到 https://github.com/BtbN/FFmpeg-Builds/releases。因此网络上之前的配置方案都不是特别适用,希望本篇文章能给大家提供一下参考,如有不当麻烦您指出。windows选中间这个 带shared这个文件下载。

2023-08-19 15:50:42 129

原创 成功配置opencv-vs2019打开图片——流程记录

opencv下载vs2019下载环境变量配置vs 内部c++配置新建源文件,测试代码遇到问题以及解决方法链接。

2023-08-16 22:59:07 335 1

原创 unity中命名空间引用报错解决方法(已解决)

先在unity打开的一个项目,打开文件资源管理器,双击打开刚才下载的NuGetForUnity.3.1.0.unitypackage文件,点击import。因为unity中并不存在.sln和.csproj文件,所以对它们的改动是无效的,所以在vs里添加命名空间的引用不报错,但是到unity中就报错。由于unity中引用c#代码,默认用visual studio打开的时候都要重新生成.sln和.关闭重新启动unity,可以看到新增了。搜索需要添加的包,点击install。下载NUGetforunity。

2023-05-08 17:04:13 1081

原创 刘铁猛C#语言入门详解——学习笔记017

【代码】刘铁猛C#语言入门详解——学习笔记017。

2023-04-24 17:08:49 149

原创 刘铁猛C#语言入门详解——学习笔记014、15、16(2)

【代码】刘铁猛C#语言入门详解——学习笔记014、15、16(2)

2023-04-23 21:14:44 354

原创 刘铁猛C#语言入门详解——学习笔记014、15、16

声明变量,语句赋值,调用方法,分支跳转。程序执行的动作,以语句的形式执行。

2023-04-22 17:12:19 130

原创 刘铁猛C#语言入门详解——学习笔记011_操作符中

【代码】刘铁猛C#语言入门详解——学习笔记011_操作符中。

2023-04-19 16:20:03 92

原创 刘铁猛C#语言入门详解——学习笔记012_操作符下

【代码】刘铁猛C#语言入门详解——学习笔记012_操作符下。

2023-04-19 16:19:17 96

原创 刘铁猛C#语言入门详解——学习笔记009

string 类型是一个引用变量,需要再堆上再开辟地址,起始地址是40000015,可能出现两次内存的转存。shift+f11可以直接跳转被调用方法的位置,比用call stack上点击再加断点 更方便。方法的签名由方法的名称、形参个数和每一个形参类型和种类组成,不包括返回类型。主调者,背调者 变量压栈归主调用者管,谁调用归谁管。对方法进行debug是非常重要的技能。local 观察局部变量的值和变化。构造器,特殊的函数 没有返回值类型。stack frame栈的调用顺序。参数的种类构成方法的签名。

2023-04-18 15:03:42 131

原创 刘铁猛C#语言入门详解——学习笔记010_操作符上

访问名称空间中的类型,类型的静态成员。元素访问操作符,索引不一定都是整数。

2023-04-18 15:02:05 52

原创 刘铁猛C#语言入门详解——学习笔记008

必须有修饰,类型,方法名(帕斯卡命名法,动词短语),括号(形参)c#语言中函数不能独立于类或者结构体之外。只有作为类(结构体)的成员时才能称为方法。方法 的调用:对照形参传入实参。方法的定义和调用(80%)实参与形参个数,类型要匹配。parameter形参。声明变量和调用不要弄混。argument实参。

2023-04-13 22:28:36 92

空空如也

空空如也

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

TA关注的人

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