- 博客(32)
- 收藏
- 关注
原创 orb-slam2回环检测3
for(int i=0; i<nInitialCandidates; i++){ // 步骤1:从筛选的闭环候选帧中取出一帧关键帧pKF KeyFrame* pKF = mvpEnoughConsistentCandidates[i]; // 防止在LocalMapping中KeyFrameCulling函数将此关键帧作为冗余帧剔除 pK...
2019-08-06 16:57:45 363
原创 orb-slam2回环检测初探1
1.DetectLoop(){ // 从队列中取出一个关键帧 unique_lock<mutex> lock(mMutexLoopQueue); mpCurrentKF = mlpLoopKeyFrameQueue.front(); mlpLoopKeyFrameQueue.pop_front(); //...
2019-08-02 16:47:03 710
原创 orb-slam2回环检测代码初探2
1.DetectLoopCandidates(KeyFrame* pKF, float minScore)@param pKF 需要闭环的关键帧@param minScore 相似性分数最低要求@return 可能闭环的关键帧 //spConnectedKeyFrames与pKF局部相连的关键帧 set<KeyFrame*> spConnecte...
2019-08-02 14:37:27 499
原创 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子请问该机器人能够达到多少个格子?
class Solution: def __init__(self): self.count = 0 def movingCount(self, threshold, rows, cols): &nb...
2019-06-05 22:12:19 762
原创 矩阵的路径
class Solution: def hasPath(self, matrix, rows, cols, path): for i in range(rows): &...
2019-06-05 21:58:12 103
原创 二叉树遍历
中序遍历: def inOrder(self,pRoot): if not pRoot: return [] res = [] res.extend(self.inOrder(pRoot.left)) res.append(pRoot) res.extend(self.inOrder(pRoot.right)) ret...
2019-06-05 21:35:40 615
原创 请实现两个函数,分别用来序列化和反序列化二叉树
对于序列化:使用前序遍历,递归的将二叉树的值转化为字符,并且在每次二叉树的结点不为空时,在转化val所得的字符之后添加一个’ , '作为分割。对于空节点则以 ‘#’ 代替。对于反序列化:按照前序顺序,递归的使用字符串中的字符创建一个二叉树# -*- coding:utf-8 -*-# class TreeNode:# def __init...
2019-06-05 21:29:26 372
原创 请实现一个函数按照之字形打印二叉树
class Solution: def Print(self, pRoot): # write code here if not pRoot:  ...
2019-06-05 21:21:40 330
原创 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
非递归:class Solution: def deleteDuplication(self, pHead): # write code here if not pHead: return None preNode = ListNode(None) preNode.next = pHead ...
2019-06-05 20:57:59 147
原创 不同路径
题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?1.排列组合机器人能向右走m-1步,向下走n-1步,所以不同路径数等价于C(m+n-2,min(m-1,n-1))import functoolsclass Solut...
2019-06-05 20:32:47 97
原创 不同路径
题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?1.排列组合机器人能向右走m-1步,向下走n-1步,所以不同路径数等价于C(m+n-2,min(m-1,n-1))import functoolsclass Solut...
2019-06-04 22:06:01 95
原创 请实现一个函数用来匹配包括'.'和'*'的正则表达式。
class Solution: # s, pattern都是字符串 def match(self, s, pattern): # write code here &n...
2019-06-03 21:35:07 1131
原创 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法
class Solution: def multiply(self, A): # write code here if not A: &nbs...
2019-06-03 20:54:09 358
原创 二进制实现加法
二进制下两数求和,分三步:1.各位值相加,不算进位值,二进制亦或运算2.计算进位值,二进制与运算,然后左移一位;3.对1,2步的结果,重复以上两步骤class Solution: def Add(self, num1, num2): # write code here while num2 != 0: temp =...
2019-06-03 20:53:47 324
原创 二进制实现加法
二进制下两数求和,分三步:1.各位值相加,不算进位值,二进制亦或运算2.计算进位值,二进制与运算,然后左移一位;3.对1,2步的结果,重复以上两步骤class Solution: def Add(self, num1, num2): # write code here while num2 != 0: temp =...
2019-06-03 19:51:54 1186
原创 圆圈最后剩下数
class Solution: def LastRemaining_Solution(self, n, m): # write code here if not m or not n:&n...
2019-06-03 19:02:40 102
原创 扑克牌顺子
class Solution: def IsContinuous(self,numbers): # write code here if not numbers: &...
2019-06-03 19:02:05 105
原创 和为S的连续正数序列
双指针滑动法class Solution: def FindContinuousSequence(self,tsum): # write code here if tsum < 3:...
2019-06-01 21:54:17 444
原创 输入一个数组,求出这个数组中的逆序对的总数P
class Solution: def InversePairs(self, data): count = 0 if not data: return 0 for i in range(len(data)): count += data.index(min(data)) ...
2019-06-01 21:53:10 425
原创 输入一个数组,求出这个数组中的逆序对的总数P
class Solution: def InversePairs(self, data): count = 0 if not data: return 0 for i in range(len(data)): count += data.index(min(data)) ...
2019-06-01 20:31:55 423
原创 丑数
class Solution: def GetUglyNumber_Solution(self, index): # write code here if (index <= 0):...
2019-06-01 19:09:27 100
原创 动态规划
class Solution: def FindGreatestSumOfSubArray(self, array): dp = res = array[0]#dp以array[i]结尾的最大子序列的和,res所有子序列和的最大值 for i in range(1,len(array)): dp = max(array[i],dp+array[i]...
2019-05-30 20:28:10 54
原创 输入一个字符串,按字典序打印出该字符串中字符的所有排列
import itertools as tlclass Solution: def Permutation(self, ss): # write code here if not ss:...
2019-05-30 20:03:00 954
原创 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表
class Solution: def __init__(self): self.front = None self.rear = None def C...
2019-05-29 21:28:08 344
原创 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。
class Solution: # 返回 RandomListNode def Clone(self, pHead): # write code hereres &...
2019-05-29 20:27:50 216
原创 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。
class Solution: # 返回二维列表,内部每个列表表示找到的路径 def FindPath(self, root, expectNumber): # write code here &nbs...
2019-05-29 19:38:09 566
原创 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
class Solution: def VerifySquenceOfBST(self, sequence): # write code here if not sequence:&nbs...
2019-05-28 22:09:21 856 1
原创 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序
class Solution: def IsPopOrder(self, pushV, popV): # write code here if not pushV or len(pushV)...
2019-05-28 21:51:03 719
原创 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数
思路:利用一个辅助栈来存放最小值 栈 3,4,2,5,1 辅助栈 3,3,2,2,1每入栈一次,就与辅助栈顶比较大小,如果小就入栈,如果大就入栈当前的辅助栈顶当出栈时,辅助栈也要出栈这种做法可以保证辅助栈顶一定都当前栈的最小值class Solution: def __init__(self): self.stack = [] se...
2019-05-28 21:34:53 391
原创 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
顺时针打印:打印第一行数据,然后将矩阵逆时针旋转九十度class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(self, matrix): # write code here res = [] while matrix: res += matrix.pop...
2019-05-28 21:08:12 173
原创 操作给定的二叉树,将其变换为源二叉树的镜像。
class Solution: # 返回镜像树的根节点 def Mirror(self, root): # write code here if roo...
2019-05-28 20:43:49 103
原创 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)class Solution: def HasSubtree(self, pRoot1, pRoot2): # write code here &n...
2019-05-28 20:27:27 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人