自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 测量模块推理时间

【代码】测量模块推理时间。

2024-04-25 13:45:14 67

原创 网络不更新,LOSS正常输出。

定位loss不更新、梯度为NAN的原因。

2024-04-24 10:14:58 172

原创 远程服务器可视化问题

远程服务器可视化问题

2023-11-17 14:37:36 113

原创 点云读取和可视化

使用open3d库并转成numpy。.pcd格式 .bin格式 点云可视化。

2023-11-17 09:33:46 230

原创 python代码运行内存一直增加

【代码】python代码运行内存一直增加/内存不够用,几种解决方式。

2023-10-13 10:50:15 273

原创 ORB-SLAM

ORB-SLAM大概流程及三大线程

2022-09-17 17:53:43 355

原创 matplotlib plot 3d 画图

matplotlib3d立方体

2022-08-10 16:21:52 729 1

原创 windows C++ VISUAL STUDIO开启slam

slam视觉 双目视觉 C++环境配置 windows

2022-07-14 11:07:19 1247

原创 EEG Classification

脑电信号

2022-07-08 14:10:25 449

原创 计算机视觉基础

双目立体视觉 特征点检测:Harris / SIFT / SURF / ORB 滤波器相机标定全景拼接立体匹配入门:基于深度学习的立体匹配传统双目立体视觉匹配算法:SAD方法:BM方法:SGBM方法:代码报错及技巧 python报错:Matlab中高清figure图版导出方法 像素减法: ...

2022-07-01 15:45:14 1439

原创 NC140 排序、NC119 最小的K个数、

NC140题:给定一个长度为 n 的数组,请你编写一个函数,返回该数组按升序排序后的结果。#快速排序class Solution: def MySort(self , arr: List[int]) -> List[int]: self.quick(arr,0,len(arr)-1) return arr def quick(self,arr,st,end): if st>=end: return left

2022-05-10 22:08:11 156

原创 NC220 重复的DNA序列、NC212 颜色分类、NC96 判断一个链表是否为回文结构、NC4 判断链表中是否有环、NC139 们的游戏(圆圈中最后剩下的数)

NC220题:找出所有在 DNA 序列中出现次数超过 1 次的连续子串,且子串长度等于10。注:返回的所有目标子串的顺序必须与原DNA序列的顺序一致用一个哈希表统计所有长度为10 的子串的出现次数,返回所有出现次数超过10的子串。class Solution: def repeatedDNA(self , DNA: str) -> List[str]: l,n,res = 10,len(DNA),[] dic = {} for...

2022-05-08 14:51:15 319

原创 NC403 编辑距离为一\NC196 编辑距离(一)、NC35 编辑距离(二)

NC403给定两个字符串 s 和 t ,如果两个字符串的编辑距离是1(仅用一次增删改), 则输出 true 否则输出 false。#看是否能依据删除(当有一个长)或者修改s[i](两个字符串一样长)来使s=tclass Solution: def editdistance(self , s: str, t: str) -> bool: if abs(len(s)-len(t))>1 or s==t: return False ..

2022-05-07 23:18:47 170

原创 剑指 Offer 64. 求1+2+…+n、JZ16 数值的整数次方

题:求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。class Solution: def __init__(self): self.res = 0 def sumNums(self, n: int) -> int: n>1 and self.sumNums(n-1)#n=1时就停止递归 self.res+=n re...

2022-05-03 17:40:12 215

原创 42. 接雨水、NC168 盛水最多的容器

题:给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。42. 接雨水 - 力扣(LeetCode) (leetcode-cn.com)##法一动态规划用动态规划的方法提前得到每个位置两边的最大高度leftMax[i]和 rightMax[i]对于0≤i<n, 下标i处能接的雨水量=min(leftMax[i],rightMax[i])−height[i].class Solution: ...

2022-05-03 17:02:35 295

原创 NC145 01背包 问题、完全背包问题

1.题:有N件物品和一个最多能被重量为m 的背包。一个物品只有两个属性:重量和价值。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。0-1 背包问题无法使用贪心算法来求解,也就是说不能按照先添加性价比最高的物品来达到最优,这是因为这种方式可能造成背包空间的浪费,从而无法达到最优。#动态规划dp[i][j]表示前i件物品 体积不超过j 能达到的最大价值#根据第 i 件物品是否添加到背包中状态转移方程为:dp..

2022-05-01 22:06:11 315

原创 BM95 分糖果问题

题:1. 每个孩子不管得分多少,起码分到一个糖果。2. 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果。(若相同则无此限制)1.递增序列每次比前次加一。2.递减序列的糖果数取决于递减序列长度与递增序列长度之间的大小关系class Solution: def candy(self , arr: List[int]) -> int: tmp,lej,lez,res=1,0,1,1 for i in range(1,len(arr)):

2022-04-28 17:46:53 476

原创 BM20 数组中的逆序对

在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。递归#分成两部分,大于和小于当前值的区间进行递归计算#每次记录后面元素小于当前元素的个数class Solution: def InversePairs(self , data: List[int]) -> int: def find(nums): if len(nums)<=0:retur...

2022-04-27 13:19:35 85

原创 JZ82 二叉树中和为某一值的路径(一)、JZ34 二叉树中和为某一值的路径(二)、BM37 二叉搜索树的最近公共祖先、BM38 在二叉树中找到两个节点的最近公共祖先、JZ36 二叉搜索树与双向链表

题: 判断是否有从根节点到叶子节点的节点值之和等于 sum 的路径。#直接递归class Solution: def hasPathSum(self , root: TreeNode, sum: int) -> bool: # write code here if not root:#root为空 return False sum-=root.val if not root.left and no

2022-04-27 13:17:31 931

原创 BM79 打家劫舍(二)、BM65 最长公共子序列(二)、BM66 最长公共子串、BM68 矩阵的最小路径和、BM69 把数字翻译成字符串

1.BM79 打家劫舍(二)题:为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家,就不能再偷第二家,如果偷了第二家,那么就不能偷第一家和第三家。且第一个房间和最后一个房间视为相邻。计算在不被发现的前提下最多的偷窃金额。#对于一个人家,我们选择偷他或者不偷他,如果我们选择偷那么前一家必定不能偷;如果选择不偷他,那我们最多可以取得上一级的收益#移方程为dp[i] = max(dp[i - 1], nums[i - 1] + dp[i - 2])#既然是个环,那么第一家和最后一家不能同时偷。所

2022-04-20 21:22:59 303

原创 BM77 最长的括号子串、BM44 有效括号序列

括号需要一一匹配,而且先来的左括号,只能匹配后面的右括号,因此可以考虑使用栈的先进后出功能,使括号匹配。使用栈来记录左括号下标。遍历字符串,左括号入栈,每次遇到右括号则弹出左括号的下标。然后长度则更新为当前下标与栈顶下标的距离。遇到不符合的右括号,可能会使栈为空,因此需要使用start记录上一次结束的位置,这样下次用当前下标减去start即可获取长度#括号匹配都是用栈。class Solution: def longestValidParentheses(self , s

2022-04-20 17:51:39 269

原创 BM22 比较版本号、NC28 最小覆盖子串

题:牛客项目发布项目版本时会有版本号,比如1.02.11,2.14.4等等。现在给你2个版本号version1和version2,请你比较他们的大小。#利用两个指针表示字符串的下标,分别遍历两个字符串。#将点之间的部分转化为数字再比较#截取点之前的数字字符组成数字,即在遇到一个点之前,直接取数字,加在前面数字乘10的后面。class Solution: def compare(self , version1: str, version2: str) -> int:...

2022-04-19 18:02:23 216

原创 BM19 寻找峰值

二分查找的过程本质是对可行区间的压缩。只要满足二段性的问题都可以用二分查找解决。在这里二段性的体现是峰值的左边单调增,右边单调减。1.BM19寻找峰值题:给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。其中nums[i] != nums[i + 1]left和right不断逼近,往“峰”处压缩。nums[mid] < nums[mid + 1]说明在“上坡”,则可以使left = mid + 1(因为m...

2022-04-19 18:00:35 192

原创 BM55 没有重复项数字的全排列、BM57 岛屿数量、BM61 矩阵最长递增路径、NC345 城市群数量

1.给出一组数字,返回该组数字的所有排列法一 #递归class Solution: def permuteUnique(self , nums ): res = [] nums.sort() def backtrack(nums,temp): if not nums:#当到num中最后一个元素时,则证明此时已经找到一种排列了res.append(temp) return ...

2022-04-18 22:21:56 420

原创 动态规划:300. 最长递增子序列、DP7 连续子数组的最大乘积、DP13 [NOIP2002 普及组] 过河卒、DP23 不相邻取数、801. 使序列递增的最小交换次数

给你一个整数数组nums,找到其中最长严格递增子序列的长度。#状态转移方程 dp[i]=max(dp[j]+1,d[i]) j=1,...,i 且满足nums[i]>nums[j]class Solution: def lengthOfLIS(self, nums: List[int]) -> int: res=1 dp=[1 for i in range(len(nums))] for i in range(len(n...

2022-04-17 22:04:19 450

原创 剑指 Offer 13. 机器人的运动范围

题:一个机器人从坐标[0, 0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。问能够到达多少个格子?优化点:机器人可 仅通过向右和向下移动,访问所有可达解#法一 直接递归:遍历所有格子,递推计算出它们是否可达是否满足条件,然后用变量res记录可达的格子数量即可。class Solution: def sum(self,m): res=0 while m: ...

2022-04-12 12:14:40 72

原创 剑指 Offer 12. 矩阵中的路径

递归+回溯+dfs首先,要在矩阵中找字符串中的第一个字符,找到后进入递归 对于已访问的、合适的位置,修改其值为空,访问完毕后要将值改回来,这是回溯的核心 已经等于字符串长度时,说明已经找到了一条路径,返回True 查找当前字符的周围字符,向下上右左4个方向#深度优先搜索(DFS)class Solution: def exist(self, board: List[List[str]], word: str) -> bool: def dfs(i,j, k) -

2022-04-06 17:24:31 217

原创 剑指 Offer 58 - I. 翻转单词顺序

#字符串分割,列表倒序。笔试用 面试不用class Solution: def reverseWords(self, s: str) -> str: return " ".join(s.split()[::-1])#双指针法 i为单词左边界 j为单词右边界去除首尾空格 倒序遍历 查找空格 需要考虑多个连续空格的情况class Solution: def reverseWords(self, s: str) -> str: .

2022-04-05 18:28:28 377

原创 剑指 Offer 57. 和为s的两个数字、剑指 Offer 57 - II. 和为s的连续正数序列

#注意是递增数列双指针法,i指向第一个元素,j指向最后一个元素。如果这两个元素的和等于target,则输出这两个元素如果比target大,让j往前移动一个如果比target小,让i往后移动一个class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: i,j=0,len(num...

2022-04-05 14:01:29 198

原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面、JZ81 调整数组顺序使奇数位于偶数前面(二)

#双端队列:奇数插左边偶 数插右边class Solution: def exchange(self, nums: List[int]) -> List[int]: res=collections.deque() for i in nums: if i%2==0: res.append(i) else: res.appendleft(i) .

2022-04-05 11:47:16 96

原创 剑指 Offer 52. 两个链表的第一个公共节点

这个题也太浪漫了! 双指针法:#两个链表长度分别为a、b, c为公共部分的长度, 当两个指针都走a+b-c时,就会相遇到公共点。 #不会陷入死循环,因为即使没有相同节点,当走到末尾都是 None也会跳出循环class Solution: def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode: curA,curB=headA,headB while cu..

2022-04-04 18:25:31 225

原创 剑指 Offer 22. 链表中倒数第k个节点

#顺序查找:先求长度,再循环到n-k (倒数第k个节点即为正数第n - k个节点)class Solution: def getKthFromEnd(self, head: ListNode, k: int) -> ListNode: i,node=0,head while node: i+=1 node=node.next node=head for i in range...

2022-04-03 14:13:33 384

原创 剑指 Offer 18. 删除链表的节点

题:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。#链表的处理思路:(小白要一步步思考才能写出来😢)特例 》初始化 》从何时开始或结束遍历 》 判断并做出某种修改 》 考虑往下循环遍历 》 最后返回什么class Solution: def deleteNode(self, head: ListNode, val: int) -> ListNode: if head.val==val:return head.nex

2022-04-02 18:15:10 221

原创 剑指 Offer 46. 把数字翻译成字符串、剑指 Offer 48. 最长不含重复字符的子字符串

#固定右边界 j ,同时定义从边界 j 往左侧距离最近的相同字符的索引为 i例如:“abcba”,索引从0开始。 j=2时最长字符串”abc",即res[2]=3。1、j=3时有b,而上一个b在res[j-1]=”abc"里,即j-i<res[j-i], 按j-i计算res[j],此时最长字符串为“cb”的 长度2。2、j = 4时有s[j]=a,上一个a在子字符串res[j-1]=“cb”之外,以a结尾的字符串自然在res[j-1]的基础上加上字符s[j]=a就构成了新的...

2022-04-02 14:46:18 208

原创 剑指 Offer 46. 把数字翻译成字符串

class Solution: def translateNum(self, num: int) -> int: #使用余数来取当前数值 绝! res0,res1=1,1 y=num%10 num=num//10 while num!=0: x=num%10 #从右往左遍历也是一样的 if 10 <= 10 * x + y <= 25: ...

2022-04-01 22:47:55 43

原创 剑指 Offer 63. 股票的最大利润、剑指 Offer 42. 连续子数组的最大和、剑指 Offer 47. 礼物的最大价值、BM81 买卖股票的最好时机(二)、BM82 买卖股票的最好时机(三)

题:把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润题:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。题:从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。计算最多能拿到多少价值的礼物?剑指 Offer 63. 股票的最大利润、剑指 Offer 42. 连续子数组的最大和、剑指 Offer 47. 礼物的最大价值

2022-03-28 18:09:49 84

原创 剑指 Offer 10- II. 青蛙跳台阶问题、剑指 Offer 10- I. 斐波那契数列

#动态规划#DPclass Solution: def fib(self, n: int) -> int: res=[0,1]#初始状态 for i in range(2, n+1): res.append(res[i-1]+res[i-2])#转移方程:res[i]=res[i-1]+res[i-2] return res[n]% (10 ** 9 + 7)#最优化DP方法:class Solution.

2022-03-28 12:35:48 77

原创 剑指 Offer 28. 对称的二叉树

这叫对称二叉树:#一个递归 考虑从上至下递归,判断每对节点是否对称#比较完整的写出递归函数的顺序class Solution: def isSymmetric(self, root: TreeNode) -> bool: if not root: return True#特例 return self.recur(root.left,root.right) def recur(self, roota: TreeNo...

2022-03-27 19:08:33 289

原创 剑指 Offer 27. 二叉树的镜像

#递归 每个子二叉树都要交换class Solution: def mirrorTree(self, root: TreeNode) -> TreeNode: if not root: return root.left,root.right=self.mirrorTree(root.right),self.mirrorTree(root.left)#递归 交换左右子节点 return root#遍历树的所有节点node ,并交换.

2022-03-27 18:09:02 28

原创 剑指 Offer 26. 树的子结构

题:输入两棵二叉树A和B,判断B是不是A的子结构#先序遍历树A中的每个节点An:isSubStructure #判断以An为根节点的A的子树 是否包含树B:subis :从A树当前节点与B树的每个节点做匹配,当B为空的时候说明匹配完成,当A、B当前节点的值不相等时匹配失败,否则继续匹配左右节点class Solution: def isSubStructure(self, A: TreeNode, B: TreeNode) -> bool: ...

2022-03-27 16:17:30 492

空空如也

空空如也

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

TA关注的人

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