自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RRT*算法仿真及衍生算法比较

在ROS-GAZABO环境下仿真视频截图如下“

2024-04-15 19:13:53 33

原创 顶刊文献阅读与复现

2024-03-19 17:47:01 281

原创 力扣刷题100.相同的树

采用递归方式进行判断,若p的每一个值完全等于q的每一个值,那么两树直接相等。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。,编写一个函数来检验这两棵树是否相同。给你两棵二叉树的根节点。

2024-03-14 16:39:01 296

原创 力扣刷题104.二叉树的最大深度

是指从根节点到最远叶子节点的最长路径上的节点数。

2024-03-12 11:13:10 138

原创 力扣刷题155.最小栈

-> 返回 -3.minStack.getMin();--> 返回 -2.minStack.top();操作,并能在常数时间内检索到最小元素的栈。好难啊好难啊,看了题解才会写。

2024-03-12 10:45:36 165

原创 58.最后一个单词的长度

从后往前搜索,遇到第一个空格就跳出,并输出此时已经有了的字符串格式。,由若干单词组成,单词前后用一些空格字符隔开。是指仅由字母组成、不包含任何空格字符的最大子字符串。最后一个单词是长度为6的“joyboy”。最后一个单词是“World”,长度为5。最后一个单词是“moon”,长度为4。

2024-03-07 09:04:55 471

原创 力扣刷题61.旋转链表

这样我们可以知道,新链表的最后一个节点为原链表的第 (n−1)−(k mod n)(n - 1) - (k \bmod n)(n−1)−(kmodn) 个节点(从 000 开始计数)。然后我们找到新链表的最后一个节点(即原链表的第 (n−1)−(k mod n)(n - 1) - (k \bmod n)(n−1)−(kmodn) 个节点),将当前闭合为环的链表断开,即可得到我们所需要的结果。特别地,当链表长度不大于 111,或者 kkk 为 nnn 的倍数时,新链表将与原链表相同,我们无需进行任何处理。

2024-03-06 19:17:21 154

原创 力扣刷题-82.删除排序链表中的重复元素

如果当前 cur.next\textit{cur.next}cur.next 与 cur.next.next\textit{cur.next.next}cur.next.next 对应的元素不相同,那么说明链表中只有一个元素值为 cur.next\textit{cur.next}cur.next 的节点,那么我们就可以将 cur\textit{cur}cur 指向 cur.next\textit{cur.next}cur.next。删除原始链表中所有重复数字的节点,只留下不同的数字。

2024-03-05 21:46:32 241

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

首先创建一个新链表,把删除的位置从左到右进行递增,再将原链表的元素一个个倒序放入链表中,最终一个个返回新的反转链表。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。

2024-03-04 10:33:30 176

原创 力扣刷题206.反转链表(2)

【代码】力扣刷题206.反转链表(2)

2024-03-01 16:22:37 220

原创 力扣138.随机链表的复制

遍历该链表的过程中,我们检查「当前节点的后继节点」和「当前节点的随机指针指向的节点」的创建情况。注意一个节点可能被多个其他节点指向,因此我们可能递归地多次尝试拷贝某个节点,为了防止重复拷贝,我们需要首先检查当前节点是否被拷贝过,如果已经拷贝过,我们可以直接从哈希表中取出拷贝后的节点的指针并返回即可。对于当前节点,我们首先要进行拷贝,然后我们进行「当前节点的后继节点」和「当前节点的随机指针指向的节点」拷贝,拷贝完成后将创建的新节点的指针返回,即可完成当前节点的两指针的赋值。返回复制链表的头节点。

2024-03-01 15:59:06 1669

原创 力扣刷题21.合并两个有序数列

新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。

2024-02-29 12:23:52 153

原创 EGO-Swarm: A Fully Autonomous and Decentralized QuadrotorSwarm System in Cluttered Environments文献阅

在这种情况下,属于蜂群的每个代理都能设法规划平滑和安全的轨迹,这个实验在视频里我复现了。为全局规划的开始和结束时间 ,Φk (t)为轨迹表达式,C为障碍物允许通过常数,E欧几里得距离转换为在z轴上主轴较短的椭球形距离,为一个主对角线元素为1,1,1/c的对角矩阵。到这里我个人感觉好像没有什么创新,貌似是在单机的基础上加入了多机的航迹躲避,实现方式就是在各个单机的可行航迹中进行选择Jw最小的那一条航迹,通过多项式来表达航迹并且进行计算,下文中有关于定位飘移补偿和深度相机删去其他无人机的介绍,就不过多关注了。

2024-02-29 10:16:11 1837

原创 力扣刷题2.两数相加

具体而言,如果当前两个链表处相应位置的数字为 n1,n2n1,n2n1,n2,进位值为 carry,则它们的和为 n1+n2+carry;此外,如果链表遍历结束后,有 carry>0,还需要在答案链表的后面附加一个节点,节点的值为 carry,即向高位加1,由于输入的两个链表都是逆序存储数字的位数的,因此两个链表中同一位置的数字可以直接相加。首先默认的单向链表中每个链表有当前的值val,下一刻链表指向的指针位置next。如果两个链表的长度不同,则可以认为长度短的链表的后面有若干个 000。

2024-02-28 10:47:43 126

原创 力扣刷题-141.环形链表

使用快慢指针法, 分别定义 fast 和 slow指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。首先第一点: fast指针一定先进入环中,如果fast 指针和slow指针相遇的话,一定是在环中相遇,这是毋庸置疑的。为什么fast 走两个节点,slow走一个节点,有环的话,一定会在环内相遇呢,而不是永远的错开呢?指针再次到达,则链表中存在环。可以画一个环,然后让 fast指针在任意一个节点开始追赶slow指针。

2024-02-28 09:33:43 208

原创 力扣刷题48.旋转图像

旋转图像,这意味着你需要直接修改输入的二维矩阵。请你将图像顺时针旋转 90 度。只会暴力解法,依次对元素进行交换。使用另一个矩阵来旋转图像。

2024-02-27 21:08:52 304

原创 力扣刷题20.有效的括号

题目要求要用栈的形式,所以先创建一个空栈用来存入相对应的括号,之后根据不同的输入进行入栈操作,学了一下栈。,判断字符串是否有效。

2024-02-23 09:49:47 398

原创 力扣刷题-219.存在重复元素

哈希表的使用,继续练习unordered的使用方法,逻辑比较简单。,判断数组中是否存在两个。

2024-02-22 10:03:06 755

原创 力扣刷题-202.快乐数

注意:此题不建议用集合记录每次的计算结果来判断是否进入循环,因为这个集合可能大到无法存储;另外,也不建议使用递归,同理,如果递归层次较深,会直接导致调用栈崩溃。使用 “快慢指针” 思想,找出循环:“快指针” 每次走两步,“慢指针” 每次走一步,当二者相等时,即为一个循环周期。此时,判断是不是因为 1 引起的循环,是的话就是快乐数,否则不是快乐数。但是实际上可以用循环去求解,因为迭代次数不会超过9*9*10次,这道题我看到题解,学到了快慢指针思想,非常优雅的代码。编写一个算法来判断一个数。

2024-02-21 09:01:56 356

原创 力扣刷题-1.两数之和

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。直接用哈希表,因为是几数之和,所以先减去某一个数,存储其位置指针,之后依次迭代。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2024-02-20 09:14:15 213

原创 力扣刷题-49.字母异位词分组

其次得出第一个字符串出现字母的键值,按照键值对其进行排序,用emplace_back在字符串尾插入元素。建立哈希表mp unordered_map<string, vector<string>> mp;是由重新排列源单词的所有字母得到的一个新单词。可以按任意顺序返回结果列表。最后用vector模板类得到最终输出数组。其中的映射关系是两个字符串数组。给你一个字符串数组,请你将。

2024-02-19 08:50:40 381

原创 力扣刷题-242.有效的字母异位词

题目描写的比较简单,首先可以想到采用for循环的方式将出现的字母个数依次记录然后比较,但是这是哈希表专题,查阅资料发现record函数可以使用,方法是:record[array[s] - 'char'].于是依次记录个数进行减运算,不为0则不满足题目要求。中每个字符出现的次数都相同,则称。,编写一个函数来判断。

2024-02-19 08:31:54 322

原创 力扣刷题-290.单词规律

首先分析题目要求用哈希表,然后学会了用map形式:map<type1,type3>map。之后在两个表里搜寻输入的字母是否可以从哈希表中找到对应的单词来构成。中的每个非空单词之间存在着双向连接的对应规律。最后当单词多于字母时(测试用例),默认为可以。里的每个字母和字符串。是否遵循相同的规律。

2024-02-18 08:15:08 503

原创 力扣刷题-383.赎金信

预备知识1:auto与const指针的结合用法。

2024-02-14 11:22:19 255

原创 力扣刷题54-螺旋矩阵

比较难想代码实现,参考题解的,注释比较详细。,返回矩阵中的所有元素。

2024-02-14 10:55:32 398

原创 力扣36.有效的数独

学到的:check[board[i][j] - '1']用来表示索引上出现的次数。,验证已经填入的数字是否有效即可。好好好,一道数独做一天。

2024-02-09 14:59:02 496

原创 力扣刷题-167.两数之和

利用双指针,逻辑比较简单,但是写出来费劲,左右相加依次递减遍历答案。你所设计的解决方案必须只使用常量级的额外空间。,请你从数组中找出满足相加之和等于目标数。如果设这两个数分别是。的形式返回这两个整数的下标。以长度为 2 的整数数组。重复使用相同的元素。

2024-02-09 10:13:45 453

原创 力扣刷题-392.判断子序列

如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。其次从第一个字符开始,所有的字符都在s中的序列才是子序列,逻辑清晰。首先空字符串是所有非空字符串的子序列。

2024-02-08 09:32:22 558

原创 力扣刷题-13.罗马数字转整数

数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做。给定一个罗马数字,将其转换成整数。这个..笨比解法就不多解释了。,即为两个并列的 1。

2024-02-07 10:05:49 334

原创 力扣刷题-135.分发糖果

首先要发最少,设置在发工资和第一个最小之间取最小值。请你给每个孩子分发糖果,计算并返回需要准备的。若没有凹点,也就是周围都一样评分,那么众生平等。更新每一个人发的,最后将各个局部最小值求和。若后面的大于前面的,则后加1,反之前加1。妙啊,又名资本家发工资算法。表示每个孩子的评分。

2024-02-07 09:31:47 256

原创 力扣刷题-238.除自身以外数组的乘积

最后代码逻辑就是先将前积算出来,并且存在ans【】中,然后再算后积,非常高明的一种策略。其次学会了vector创建数组,也就是vec array(m,n)首先不让用除法,也就排除都乘起来除以当前值的可能。之中任意元素的全部前缀元素和后缀的乘积都在。之外其余各元素的乘积。时间复杂度内完成此题。

2024-02-06 10:32:12 384

原创 力扣刷题-o(1)时间插入,删除和获取

越来越离谱了...同样的逻辑会不一样的结果。你必须实现类的所有函数,并满足每个函数的。hh之后就好写很多了。

2024-02-05 10:25:11 453

原创 力扣刷题-274.H指数

ok所以首先对数组进行顺序排序,然后找到中位数,也就是符合题目的h的值,之后再遍历寻找大于h的次数就可以了。先吐槽题目,本来我以为是看发表论文的次数和引用指数相等的意思,但是翻译令我欲仙欲死。篇论文被引用的次数。计算并返回该研究者的 h。代表“高引用次数” ,一名科研人员的。篇论文被引用次数大于等于。是指他(她)至少发表了。

2024-02-04 10:10:23 254

原创 力扣刷题-55.跳跃游戏

代码逻辑为从后往前不断遍历,直到发现走的路到0为止,且走过的路大于1,说明跳跃成功(其实是取巧了,因为只用输出bool类型,所以不用管中间是怎么走的,且可以直接跨过第一个)数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。

2024-02-03 10:06:03 527

原创 力扣刷题-122,买股票(2)

在每一天,你可以决定是否购买和/或出售股票。思路简单,先买再看,低则买进,高则卖出。你也可以先购买,然后在。

2024-02-02 16:08:57 273

原创 力扣刷题-121.买卖股票的最佳时机

okok代码思路是设计两个值,用来搜索最小值和最大值,或者说局部最大或局部最小,之后不减去得到利润,然后不断比较得到最大的值。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。买入这只股票,并选择在。

2024-02-02 16:04:12 214

原创 力扣刷题-80.删除有序数组中的重复项(2)

代码思路为,设置记录阈值2,从数组中当前元素遍历是否出现2个以上,将阈值以下的元素记录,超出删除。同时要注意测试用例中有单元素数组存在,因此不超过阈值2的数组直接输出即可,满足题目要求。删除重复出现的元素,使得出现次数超过两次的元素。并在使用 O(1) 额外空间的条件下完成。不要使用额外的数组空间,你必须在。,返回删除后数组的新长度。

2024-02-02 11:04:22 123

原创 力扣刷题-26删除有序数组中的重复元素

代码思路是从第一个开始遍历,发现有重复元素则跳过,只记录与当前数字不重复的元素,最后返回。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。

2024-02-02 10:26:56 386

原创 力扣刷题-169.多数元素

简而言之思路就是先假设我现在这个最多,然后碰见一样的加一,反正减一,减完后新的是最多的,最终得到结果。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。

2024-02-01 17:27:38 163

原创 力扣刷题-27.移除元素

原理比较简单,搜寻数组中相等的元素后将其丢弃,只计最终得到的不相等的元素数目。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。

2024-02-01 15:50:47 430 1

空空如也

空空如也

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

TA关注的人

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