自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录37期|LeetCode 344.反转字符串,LeetCode 541. 反转字符串II,LeetCode 54.替换数字 ,LeetCode 151.翻转字符串里的单词,55

先整体反转,再对每个单词进行反转。4.翻转字符串里的单词。

2024-05-15 23:05:34 122

原创 代码随想录37期|LeetCode 454.四数相加II,LeetCode 383. 赎金信 ,LeetCode 15. 三数之和 ,LeetCode 18. 四数之和

永远记得,因为数组经过排序,所以三元数组一定是a<b<c,这就说明遍历时,找到一个a的话,涵盖这个值的所有组合已经被找到,所以相同值不用再考虑了。这道题比较简单的是双指针法,哈希表方法需要去重,而unordered_map有是无序的,去重麻烦。有value个a+b的值可以与c+d相加,所以,c+d找到对应值的时候count+=value。要点:要统计a+b是否出现过,还要统计出现的次数,所以set不够,要用map。数组已经排过序,所以相等的元素重复出现,所以判断当前元素是否与某个元素相等。

2024-05-14 23:33:23 172 3

原创 代码随想录37期|LeetCode 242.有效的字母异位词,LeetCode 349. 两个数组的交集 ,LeetCode 202. 快乐数,LeetCode 1. 两数之和

注意:多想想其中的哈希映射,有26个字母所以要26长度的数组,如果是1W的数字,那可能需要最少1W长度的数组,为了每个值都有一个映射。做法:统计字母出现的频率,将原数组中的每个元素都与’a‘做差值,能得到每个元素与’a‘的相对位置,在这个位置++set.find()的用法,find在容器中找到的值是返回迭代器,找不到就返回迭代器end()要点:为什么用数组的值(元素),作为key,考虑我们的目的是查找某个元素值是否出现过。哈希表:哈希表是根据关键码的值而直接进行访问的数据结构,数组就是一张哈希表。

2024-05-13 23:06:53 208 1

原创 代码随想录37期|LeetCode 24. 两两交换链表中的节点,LeetCode 19.删除链表的倒数第N个节点,LeetCode 142.环形链表II

写代码的时候还是把图画出来更不容易出错,你可以先写 cur->next = cur->next->next,但是一会发现,要操作第一个节点的时候已经丢失了第一个节点的地址,所以需要temp先储存第一个节点的地址,因为涉及到第三个节点,所以第三个节点也需要保存。快慢指针,如果不相遇说明是直线,如果相遇说明都进入了环内,快指针每次走两个节点,慢指针每次走一个节点,相对速度是一个节点,同向追击问题,他们两一定会相遇,而如果相对速度在两个节点,有可能会跳过不会相遇。要点:想改变某个节点,操作的一定是他前面的节点。

2024-05-12 22:38:20 202

原创 代码随想录37期第三天|LeetCode 203.移除链表元素,LeetCode 707.设计链表,LeetCode 206.反转链表

递归写法:停止递归的时候就是if条件满足的时候,return,否则会想循环一样一直进入reverse函数。使用虚拟头节点时,head节点有可能已经被删了,所以,return应该时虚拟节点的下一个。要点:因为头节点和中间节点删除规则不一样,引入虚拟头节点,则删除所有节点的规则将统一。临时的cur知识某个节点当前的指针,cur->next是顺着链表找到下一个。要点:先让临时的节点指向下一个节点再让上一个节点指向临时节点。思考:虚拟头节点能很方便我们的增和删的操作。思考:头节点和首元节点分别是什么意思?

2024-05-10 21:15:08 134 1

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

思考:i++是写在while循环最后的,意味着代码中真正移动起止位置的时间也是最后,在这之前,判断,计算长度,取最小长度,计算假如移动起始位置的sum都要做完。思考:为什么要转n/2圈,因为每转一圈,边长减少2,转完就只需要n/2.如果n是奇数,中间的值单独赋予就可以。要点(为什么):原数组是从小到大的顺序排列的,有正有负,因此他们的平方必定是从两边到中间由大到小的。这道题看着简单,就是比较绕,还是要多写几遍,多看即便代码理解一下。依旧是双指针,但是这里是一个新思路,叫滑动窗口。2.长度最小的子数组。

2024-05-09 21:52:17 214 1

原创 代码随想录37期训练营第一天|二分查找法、移除元素

区别:判断都是mid与target的大小,但是左闭右闭时,更新区间的时候不用再考虑mid了,所以right=mid-1,而左闭右开时,如果right=mid-1的话,mid-1就没有被查找。vector.erase函数:本质是将数组后面的元素整体往前挪。数组:是一个连续的类型相近的元素的集合(连续很重要)1.二分查找法(LeetCode 704)重点在于:考虑的区间是左闭右闭还是左闭右开。双指针:把要的元素给一个新指针指向的值。

2024-05-08 22:54:48 141

原创 ubuntu中matlab安装之后不能复制粘贴的解决办法

打开matlab上面选项卡中的预设,按下图展示改成Windows 默认集就可以了。

2023-07-04 11:32:20 1309 1

转载 LaTex的下载与安装

写在前面,感谢原作者,安装一点没出错LaTex的下载 (texlive下载+TexStudio下载)LaTex的安装 (texlive安装+TexStudio安装)LaTex的下载 (texlive下载+TexStudio下载)texlive网址TexStudio网址LaTex的安装 (texlive安装+TexStudio安装)首先,双击打开已经下载好的texlive2022.iso双击打开install-tl-windows.bat检验是否安装成功系统搜索栏打开命令提示符

2023-06-15 08:58:26 7928 2

原创 C++类error: expected parameter declarator

使用C++类初始化参数的时候需要注意。

2023-05-18 17:20:43 702 1

原创 学习使用opencv库

waitKey(delay )在一个给定的时间内(单位ms)等待用户按键触发;有按键按下,返回按键的ASCII值。无按键按下,返回-1。由于cv::Mat要用于存储图像,它里面的元素可以是“像素”,对于像素,OpenCV定义了专门的数据格式来描述它们。{8U, 16S, 16U, 32S, 32F, 64F}:表示数据类型。{1,2,3}:代表通道数,特别注意的是1,2,3分别指B,G,R。{b, s ,w , i, f, d}表示向量内数据类型。{2,3,4,6}代表向量的长度。

2023-05-18 17:07:51 366 1

原创 使用网线(局域网)在两台ubuntu中传输文件

参考步骤:1、首先需要知道控制的设备ip地址,比如是2、从settings- netwoork- wired,选择手动,设置ipv4的地址,子网掩码,网关。地址要和设备在同一网段下,否则不能够ping通。比如一下设置:地址:192.168.123.88子网掩码:255.255.255.0网关:192.168.123.13、在自己的pc端ping设备ip,看是否能够传输数据4、若可以,接下来可以在自己的pc运行代码直接控制设备电机了。

2023-04-11 22:18:54 4121 1

原创 qt中ros报错解决办法,qt中链接ros相关依赖

1.安装qt之后进入/usr/share/applications文件夹用gedit打开文件2.对其进行如下修改:修改 Exec 变量一行,中间添加 bash -i -c ,即改为 Exec=bash -i -c,然后保存并退出。(黄色部分的路径为qtcreator的安装路径)3.如图。

2023-04-11 21:45:11 396 2

空空如也

空空如也

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

TA关注的人

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