自定义博客皮肤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)
  • 收藏
  • 关注

原创 pyhon模块以及常用的第三方模块

【代码】pyhon模块以及常用的第三方模块。

2024-06-24 22:41:19 254

原创 Python面向对象

python当中的多继承。

2024-06-23 22:12:54 234

原创 TensorRT加速MNIST手写数字识别

本文将会通过TensorRT C++ API来完成一个MNIST手写数字识别模型的转换、推理过程,并给出相应代码,在runtime阶段将会使用最新的enqueueV3方法。

2024-02-23 14:58:54 367

原创 01、并行计算向量加法

【代码】01、并行计算向量加法。

2024-02-15 22:27:58 363 1

原创 IPM逆透视变换

关键是用已知角做出直角三角形,使用已知边作斜边进行计算。

2024-02-15 22:20:49 357

原创 代码随想录 第八章 二叉树:二叉搜索树

但对于二叉搜索树就不一样了,基于二叉搜索树的特殊性,也就是节点的有序性,不适用辅助栈或者队列就可以写成迭代法。如果root->val大于val,则搜索左子树,如果root->val小于val,则搜索右子树,如果没有找到目标节点,则返回null。而对于二叉搜索树,不需要回溯的过程,基于节点的有序性就可以确定搜索方向。确定一个节点是否存在二叉搜索树中,如果在,则返回这个节点,如果不在,则返回null。若它的右字树不为空,则右子树上所有节点的值均大于它的根节点的值。它的左、右子树也分别为二叉搜索树。

2023-10-03 12:55:39 138

原创 代码随想录 第八章 二叉树02

在二叉树中,一层一层地遍历二叉树,遍历的层数就是二叉树的深度,如果使用迭代法,那么使用层序遍历是最合适的。先求左子树的深度,再求右字树的深度,最后取左右深度中的最大值再加1。就是当前节点为跟节点的树的深度。因为要通过递归函数的返回值计算树的高度,所以本题需要使用后序遍历(左->右->中)。求一棵二叉树的最大深度,跟节点的深度为1.leetcode104:二叉数的最大深度。8、二叉数的最大深度。9、二叉树的最小深度。

2023-10-02 21:04:56 166

原创 代码随想录 第八章 二叉树01

1、理论知识。

2023-09-26 22:48:00 195

原创 代码随想录第七章 栈与队列

队列的规则是先进先出,把一个队列中的数据导入另一个队列,数据的顺序并没有变。如果用两个对列实现栈,那么两个队列就没有输入队列和输出队列的关系,另一个队列完全是用来备份的。第一种情况:已经遍历了字符串,但是栈不为空,说明有相应的左括号,但没有右括号,所以返回错误。在遍历字符串的过程中栈已经为空,没有匹配的字符了,说明右括号没有找到对应的左括号,返回错误。使用栈模拟队列的行为,仅使用一个栈是不行的,所以需要两个栈,一个是输入栈,一个是输出栈。(1)、第一种情况,字符串中左方向的括号多余了,所以不匹配。

2023-09-24 22:12:38 442

原创 代码随想录 第6章 字符串

分段反转字符串,在字符串中,从前向后遍历,每隔2k个字符的前k个字符需要反转,如果剩下的字符小于k个,则反转剩下的所有字符,如果剩下的字符小于2k且大于等于k个,则反转前k个字符。

2023-09-24 17:22:26 117

原创 代码随想录:05哈希表

unordered_set、unorederd_map底层是用哈希表实现的,哈希表结构存储的数据是无序的。判断字符串s中的字符是否可以通过改变顺序的方式变成字符串t(如果字符串s与字符串t相同,那么也是可以的)。但哈希表法牺牲了空间换取时间,因为我们要使用额外的数组,set或者map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个元素是否出现在集合中出现过的场景,则应该第一时间想到哈希法。map、muiltmap的底层实现是由红黑树实现的,是有序的。1、有效的字母异位词。

2023-09-17 13:16:12 43

原创 代码随想录:04链表(二)

4、在链表的第index个位置插入节点。1、获取链表第index个节点的数组。2、在链表的最前面插入一个节点。5、删除链表第index个节点。3、在链表的最后插入一个节点。

2023-09-15 23:40:45 24

原创 链表的常用操作

1、企业级链表的创建以及使用示例代码。

2023-09-15 22:29:15 20

原创 代码随想录:04链表

【代码】04、链表。

2023-09-13 23:20:21 38

原创 代码随想录:03数组

因为当前的nums[mid]不等于target,那么去左区间继续找,而寻找的区间是左闭右开区间,所以right更新为mid,即在下一个查询区间不会比较nums[mid].二、如果nums[mid]大于target,则更新搜索范围右下标right为mid-1,因为当前这个nums[mid]一定不是target,所以接下来要查找的区间结束下标位置是mid-1.二分法中区间的定义一般有两种,一种是左闭右闭[left,right],另一种是左闭右开[left,right)。leetcode704:二分查找。

2023-09-11 23:18:04 34

原创 路径总和DFS算法

一种直观的思路是自顶向下,使用前序遍历+参数扩展,在向下递归的同事更新参数,当到达叶子节点或空节点时判断是否满足条件。这是一种非常常见的DFS解题思路,除了前序遍历,还有一种常见的二叉树深度遍历法是后序遍历,即在递归函数返回时对问题进行求解,使用字树的返回值来计算当前节点的返回值。当我们处理递归问题时,如何定义递归出口是非常重要的一步(递归出口指的是递归函数可以直接处理的最简单子问题)。对于本题,递归出口是当前子树只有一个节点时(该节点是整个树的叶子节点),需要在递归出口判断当前路径是否符合要求。

2023-09-02 00:51:00 226

原创 广度优先遍历

题目分析:二叉树的层序遍历要求逐层访问节点,该过程可借助队列来实现。该队列保存每一层的节点值,队列的长度为该层的节点数。当在队列中遍历该层节点时时,将节点的下一层入队列。题目描述:给定二叉树的根节点 root ,返回其节点值的层序遍历 ,即逐层地从左到右访问所有节点。BFS比较适合用来找最短距离,因此如果题目中提到了最短距离,首先想到的是采用BFS。相对DFS来说,BFS的变种比较少,能解决的问题种类比较单一。

2023-08-31 23:22:29 17

原创 二叉树的非递归遍历

1、采用stl里面的栈stack实现。

2023-08-30 23:19:59 22

原创 二叉树的非递归遍历

首先,将节点A进栈(初始化为false)。然后取栈顶元素,判断flag是否为真,为真就输出并释放内存。不为真就放其左右节点进栈,A改为true再放进栈中。再取栈顶元素判断,如此循环便可遍历整个二叉树。

2023-08-30 22:48:36 50

原创 二叉树的创建与表示

【代码】二叉树的创建与表示。

2023-08-28 23:37:43 29

原创 四数之和leetcode

题目一:给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在4个元素a、b、c、d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复的四元组。题目二:给定4个包含整数的数组列表A、B、C、D,计算有多少个元组(i,j,k,l)能使A[i]+B[j]+C[k]+D[l] = 0。满足要求的四元组集合为 [[-1,0,0,1]、[-2,-1,1,2]、[-2,0,0,2]].给定数组 nums = [1,0,-1,0,-2,2]和target = 0;

2023-08-28 22:43:22 26

原创 01、动态规划入门

跳上一个 i 级的台阶总共有 dp[i] 种跳法。这样,如果我们能够算出 dp[n],不就是我们要求的答案吗?所以第一步定义完成。当机器人从左上角走到(i, j) 这个位置时,一共有 dp[i] [j] 种路径。那么,dp[m-1] [n-1] 就是我们要的答案了。注意,这个网格相当于一个二维数组,数组是从下标为 0 开始算起的,所以 右下角的位置是 (m-1, n - 1),所以 dp[m-1] [n-1] 就是我们要找的答案。

2023-08-16 22:47:50 31

原创 00、动态规划算法入门

解题思路也是依照上面的,穷举,假若背包可以装的重量从0开始,依次累加,物品也是依次加入,这样,背包的容量和物品的个数就形成一个二维数组,二维数组的值就是价值;既然是重复计算,是不是可以用一个集合存储已经计算过的数据呢,肯定是可以的,如上图,如果计算f(8)的时候,保存f(7)的值,再计算f(9)的时候,就可以直接利用,这样就能避免大量的重复计算。动态规划跟分治算法最大的区别是,分治算法中的子问题之间是相互独立的,而动态规划的子问题是有关联的,是要进行记住过往的,这就是动态,一直处于变化之中。

2023-08-15 22:11:48 25

原创 算法通关之路

今天是2023年8月10号,到2025年1月1号,进行leetcode刷题计划。希望在接下来的一年多时间里,能熟练掌握以下内容。3、常见的算法技巧:二分法、排序、双指针、滑动窗口、并查集、深度优先遍历、广度优先遍历。1、常见数据结构:数组、栈、队列、链表、二叉树、散列表、图。2、常见的算法思想:分治、贪心、回朔、动态规划。

2023-08-10 20:53:26 36

原创 第五章 千奇白怪的排序算法

快速排序是比较快的排序方法。它的基本思想是通过一组排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据小,然后再按此方法对这两部分数据进行快速排序,整个排序过程可以递归进行,以此使所有数据变成有序序列。至此换成一趟排序,此时以 mid 为界线,将数据分割为两个子序列,左侧子序列都比 pivot 数小,右侧子序列都比 pivot 数大,然后再分别对这两个子序列进行快速排序。步骤三:从左向右扫描,找到大于 pivot 的数,如果找到,R[i] 和 R[j] 交换,j--。

2023-08-07 23:19:28 28

原创 C++中文件的读写

文件操作必须包含头文件 fstream;读文件可以利用 ofstream 或 fstream 类;打开文件需要指定操作文件的路径以及打开方式;利用<<可以向文件中写数据;3、打开文件并判断文件是否打开成功,open(“file”,“读取方式”);**Note:**文件输出流对象可以通过write函数,以二进制的方式写数据。通过文件,可以将数据持久化。C++中对文件的操作需要包含头文件。ifstream,读操作;:以二进制的形式存储在计算机中,用户一般无法直接阅读。5、关闭文件,ufs.close()。

2023-08-01 22:27:46 152

原创 06、二分查找练习题

注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]]。1、已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。给你一个可能存在 重复 元素值的数组 nums ,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]若旋转 7 次,则可以得到 [0,1,4,4,5,6,7]

2023-07-31 23:38:25 19

原创 第4章 居合斩!二分查找

具体到代码上,二分查找时区间的左右端取开区间还是闭区间在绝大多数时候都可以,因此有些初学者会容易搞不清楚如何定义区间开闭性。第二是在刷题时思考如果最好区间只剩下一个数或者两个数,自己的写法是否会陷入死循环,如果某种写法无法跳出死循环,则尝试考虑另外一种写法。双指针类型的问题,指针通常是一步一步移动的,而在二分查找里,指针每次移动半个区间长度。算法解释:二分查找也常被称为二分法或者折半查找,每次查找时通常将区间分为两部分,并只取一部分进行查找。题目描述:给定一个非负数,求它的开方,向下取整。

2023-07-26 23:11:07 58

原创 04、双指针练习题

给定一个非负整数c,你要判断是否存在两个整数a和b,使得a*a + b*b = c。

2023-07-25 20:39:50 21

原创 03、玩转双指针

若两个指针指向同一个数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。若两个指针指向同一个数组,但是遍历方向相反,则可以用来进行搜索,待搜索的数组往往是排好序的。输入是一个数组,和一个给定值,输出是两个数的位置,从1开始计数。1、两数之和 leetcode167。

2023-07-23 20:58:14 20

原创 离散值滤波投票器Voter 示例代码

【代码】离散值滤波投票器Voter 示例代码。

2023-07-17 22:15:16 77

原创 贝叶斯滤波与卡尔曼滤波第十五讲 无迹卡尔曼滤波代码

ukf滤波器调试主要是三个参数:Q、R、W。纸上得来终觉浅,得知此事要躬行。

2023-07-16 22:29:07 43

原创 贝叶斯滤波与卡尔曼滤波第十四讲 无迹卡尔曼滤波

无迹卡尔曼滤波(UKF)主要是采用UT变换对fx和hx的概率密度进行近似;扩展卡尔曼滤波(UKF)主要是对fx 和hx进行线性化;ek和ukf滤波主要是针对非线性问题;

2023-07-16 21:41:27 31

原创 贝叶斯滤波与卡尔曼滤波第十三讲 扩展卡尔曼滤波及其代码

2023-07-16 15:23:05 24

原创 贝叶斯滤与卡尔曼滤波第十二讲 粒子滤波拾遗:采样方法、预测方程

2023-07-16 14:36:28 18

原创 贝叶斯滤波与卡尔曼滤波第十一讲 粒子滤波代码

2023-07-16 11:00:28 22

原创 贝叶斯滤波与卡尔曼滤波第十讲 重采样

2023-07-16 10:30:28 25

原创 贝叶斯滤波与卡尔曼滤波第九讲 粒子绿波原理详解

2023-07-16 00:37:30 36

原创 贝叶斯滤波与卡尔曼滤波第八讲 从零开始码出卡尔曼滤波代码

2023-07-15 23:27:35 20

原创 贝叶斯滤波与卡尔曼滤波第七讲 卡尔曼滤波

Xk随机变量如果服从正太分布,也就是说。随机变量的期望值,就是概率最大的值;

2023-07-15 22:09:00 29

空空如也

空空如也

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

TA关注的人

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