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

原创 C++面试题准备

进程:是并发执行的程序在执行过程中分配和管理资源的基本单位。线程:处理器任务的基本单位。线程也被称为轻量级进程。协程:是一种比线程更加轻量级的存在。C++ 20的协程是一个特殊函数。只是这个函数具有挂起和恢复的能力,可以被挂起(挂起后调用代码继续向后执行),而后可以继续恢复其执行。进程之间是独立的地址空间,线程共享本进程的地址空间。健壮性:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。执行过程或者切换时:进程执行开销大。线程执行开销小。

2023-10-02 21:27:44 3272

原创 main.cpp:(.text+0x1e8): undefined reference to `cv::namedWindow(cv::String const&, int)‘

编译ROS项目报错。

2024-04-16 17:11:26 318

原创 ROS1创建自定义服务并使用

在package.xml中添加如下代码,注意添加的位置,放在之前。在catkin_package中添加CATKIN_DEPENDS message_runtime。在find_package中添加message_generation(已完成)如上图所示,vehicle_control是我的功能包,创建一个srv文件夹。横线代表分割符,上面的是客户端发送的数据,下面是服务器返回的数据。具体使用什么类型参考自己的项目,以及ros支持类型。取消add_service_files的注释,并把。

2023-11-22 21:04:12 286

原创 Jetson NX python使用多线程TensorRT---[pointWiseV2Helpers.h::launchPwgenKernel::532] Error Code 1: Cuda Dr

失败案例

2023-10-17 22:11:46 319

原创 多叉树的构造和其前序后序遍历

【代码】多叉树的构造和其前序后序遍历。

2023-09-19 11:13:43 145

原创 在Jetson nano上部署PaddleSeg

Paddle Inference 是飞桨的原生推理库, 作用于服务器端和云端,提供高性能的推理能力,在使用之前,我们需要在Jetson Nano里安装好PaddlePaddle。jetson nano已经安装好图像化Linux系统,大家在网上找教程随便装一个自己喜欢的。大家下载困难或者指令复杂建议使用微信文件传输助手网页版,十分好使。这里的话python版本也要对应,我再去修改python版本。找到你需要的推理库文件,对应Jetpack版本。配置好python和pip。

2023-09-18 22:56:24 302

原创 代码随想录训练营50天|

【代码】代码随想录训练营50天|

2023-09-13 20:53:01 53

原创 代码随想录算法训练营第二天|977.有序数组的平方|209. 长度最小的子数组|59. 螺旋矩阵 II|1020. 飞地的数量

方法二:开辟额外数组,利用两边的双指针缩进,比较大小填入新数组。最好自己在纸上把过程都模拟一下。

2023-07-27 22:38:44 442

原创 图论算法|深度优先搜索理论基础|797.所有可能的路径|广度优先搜索BFS理论基础|200. 岛屿数量

【代码】代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。

2023-07-26 16:08:21 196

原创 jetson上虚拟环境报错module ‘tensorrt‘ has no attribute ‘volume‘

该错误是因为在虚拟环境软链接的时候,不能只软链接tensorrt.so而是要把原先主环境下所有有关tensorrt的文件夹全部软链接,不然会导致函数缺少,tensorrt7没有这个问题tensorrt8才出现这个问题。把三个软件文件夹,复制到你的虚拟环境的包中我的是这个/home/jetson/archiconda3/envs/p36/lib/python3.6/site-packages/,自行替换。

2023-05-28 10:27:59 379

原创 jetson填坑-单独安装cuda,cudnn,tensorrt任意适用版本

jetson 系列机器单独安装cuda cudnn和tensorrt,不用刷机

2023-05-21 21:27:16 4755 7

原创 拓扑排序-解决依赖路径问题

在华为4-26日的笔试中遇见该问题;给定n个id给定该id依赖其他id根据以上把依赖次数写出来,依赖不能构成循环。

2023-04-27 16:03:48 55

原创 图论-匈牙利算法学习

若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的 N ( N 为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳方案”,当然密码学会希望你寻找出“最佳方案”。输出一个整数 K ,表示你求得的“最佳方案”组成“素数伴侣”的对数。

2023-04-24 22:40:04 208

原创 算法刷题知识点总结

是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。,用于查找排序:双指针将一个两层循环转化成了一层循环,时间复杂度也从n^2变成了n,那么什么时候会需要使用双指针呢?一般来讲,当遇到需要对一个数组进行重复遍历时,可以想到使用双指针法。因为数组的在内存空间的地址是连续的,所以我们在。的时候,就难免要移动其他元素的地址。:采用两个指针,注意他们的区间划分;

2023-04-23 16:54:10 184

原创 C++操作防遗忘

int val;} };int val;} };

2023-04-23 16:53:41 40

原创 算法-生活常识类-防忘记

4、6、9、11月是30天,其他月份为31天。

2023-04-07 15:32:19 70

原创 算法-递归

在每一次递归中,函数首先检查当前节点与其父节点的关系,如果两者差值为1,则将当前长度 curLen 加1;**一个经典的递归例子是计算阶乘。**阶乘是指从1到n的所有正整数相乘的结果,通常表示为n!需要注意的是,递归会增加程序的空间复杂度,并且在某些情况下可能会导致堆栈溢出。比如,在一颗二叉树中查找某个特定的值,或者在一个图中查找从起点到终点的最短路径。这个过程中,在第二步中又涉及到计算(n-1)的阶乘,因此可以继续使用递归。如果n大于1,将n乘以(n-1)的阶乘的结果,即n * (n-1)!

2023-04-04 11:27:16 60

原创 算法学习-快速排序算法-试题45. 把数组排成最小的数-C++

链接:https://leetcode.cn/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof。输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。这个问题不是数字和数字的排序而是字符串排列之后谁大谁小的排序,涉及到字符串比较,快速排序。拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0。输入: [3,30,34,5,9]来源:力扣(LeetCode)输出: “3033459”输入: [10,2]

2023-04-03 17:21:45 64

原创 算法-动态规划-回文子串+最长回文子序列-C++

给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000。关键是比较i和j位置的字符是否一样,如果一样长度加2,不同就保留i+1和j-1时的最大序列长度。示例 1: 输入: “bbbab” 输出: 4 一个可能的最长回文子序列为 “bbbb”。解释:6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”示例 2: 输入:“cbbd” 输出: 2 一个可能的最长回文子序列为 “bb”。解释:三个回文子串: “a”, “b”, “c”

2023-03-29 15:02:10 169

原创 算法-动态规划-子序列和字符串问题-C++

本题中,正确定义dp数组的含义十分重要。dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度为什么一定表示 “以nums[i]结尾的最长递增子序” ,因为我们在 做 递增比较的时候,如果比较 nums[j] 和 nums[i] 的大小,那么两个递增子序列一定分别以nums[j]为结尾 和 nums[i]为结尾, 要不然这个比较就没有意义了,不是尾部元素的比较那么 如何算递增呢。

2023-03-28 22:32:18 1152

原创 算法-动态规划-121. 买卖股票的最佳时机1-5-C++

所以二维dp数组的C++定义为:确定递推公式还要强调一下:dp[i][1],表示的是第i天,买入股票的状态,并不是说一定要第i天买入股票,这是很多同学容易陷入的误区。达到dp[i][1]状态,有两个具体操作:操作一:第i天买入股票了,那么dp[i][1] = dp[i - 1][0] - prices[i]操作二:第i天没有操作,而是沿用前一天买入的状态,即:dp[i][1] = dp[i - 1][1]

2023-03-27 17:00:07 1159

原创 算法-动态规划-213.打家劫舍II+337.打家劫舍 III(树形dp)-C++

示例 2: 输入:nums = [1,2,3,1] 输出:4 解释:你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。如果不偷当前节点,那么左右孩子就可以偷,至于到底偷不偷一定是选一个最大的,所以:val2 = max(left[0], left[1]) + max(right[0], right[1]);输入:nums = [2,3,2] 输出:3 解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。

2023-03-27 09:57:30 389

原创 算法-动态规划-背包问题-139. 单词拆分-C++

满足两个条件,字符串相等,在此字符串之前的字符串相等。“apple”, “pen” 是物品,那么我们要求 物品的组合一定是 “apple” + “pen” + “apple” 才能组成 “applepenapple”。“apple” + “apple” + “pen” 或者 “pen” + “apple” + “apple” 是不可以的,那么我们就是强调物品之间顺序。输入: s = “catsandog”, wordDict = [“cats”, “dog”, “sand”, “and”, “cat”]

2023-03-27 09:02:32 77

原创 算法哈希表总结-C++

只是根据key的哈希值,将元素存在指定位置,所以根据key查找单个value时非常高效,平均可以在常数时间内完成。是库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数是。multimap 中会出现具有相同键的元素序列,它们会被添加到容器中。关联起来的容器,它可以高效的根据单个key值查找对应的value。的底层实现是哈希, 使用unordered_set 读写效率是最高的,它的键值分别是迭代器的first和second属性。

2023-03-26 16:25:38 46

原创 算法-BFS-广度有限搜索-迷宫问题

这是最基础的迷宫题的解法,其他笔试题应该根据具体情况具体改。

2023-03-25 16:21:03 56

原创 算法-贪心算法-455.分发饼干+376. 摆动序列+53. 最大子序和+122.买卖股票的最佳时机II+55. 跳跃游戏-C++

先求取局部最优,再去求全局最优,贪心点,贪心点。

2023-03-24 15:23:33 240

原创 算法-动态规划-背包问题-322. 零钱兑换+(背包问题小结)+完全平方数-C++

01背包问题:最大能装满多少装满有多少种方法问题最少有几个物品能装满组合数就是不允许有重复,一般是先遍历物品再遍历背包容量i ++) {// 遍历物品 for(int j = coins [ i ];j ++) {// 遍历背包 if(dp [ j - coins [ i ] ]!// 如果dp[j - coins[i]]是初始值则跳过 dp [ j ] = min(dp [ j - coins [ i ] ] + 1 , dp [ j ]);} } }

2023-03-23 22:31:22 457

原创 算法-动态规划-完全背包问题-518.零钱兑换II-C++

个人感觉比较有难度的地方在于,想明白它是如何计算次数的,根据对背包容量的大于nums[i]限制,以及初始化为1,从前往后遍历dp[j - coins[i]],三条元素决定了,它能够根据num[i]的大小自动添加1。

2023-03-23 16:48:03 495

原创 蓝桥杯-数列求值+等差数列

样例说明:包含2、6、4、10、20 的最短的等差数列是 2、4、6、8、10、12、14,16,18、20.但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。第二行包含N个整数A1,A2,.,AN。给定数列1,1,1,3,5,9,17,…,从第4项开始,每项都是前3项的和。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项?本题是简单题,注意不要动态数组的方法做,没那么大空间。其中,2

2023-03-23 16:05:25 67

原创 蓝桥杯-年串字符

小明用字母A对应数字1,B对应2,以此类推,用Z对应26,对于27以上的数字,小明用两位或更长位的字符串来对应,例如AA对应27,AB对应28,AZ对应52,LQ 对应 329.进制转换,将数字转换为26进制,并将其按照字母的形式输出。最大运行时间:1s最大运行内存:128M。请问2019 对应的字符串是什么?

2023-03-23 15:44:42 99

原创 蓝桥杯-动态规划-数字三角形

上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和(路径上的每一步只可沿左斜线向下或右斜线向下走)。下面的 N 行给出数字三角形。数字三角形上的数都是 0 至 99 之间的整数。输入的第一行包含一个整数 N (1≤N≤100),表示三角形的行数。输出一个整数,表示答案。最大运行内存: 128M。

2023-03-23 09:20:05 203

原创 算法-动态规划-完全背包理论基础-C++

有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。01背包和完全背包唯一不同就是体现在遍历顺序上。而完全背包的物品是可以添加多次的,所以要。,为了保证每个物品仅被添加一次。我们知道01背包内嵌的循环是。

2023-03-22 17:28:09 94

原创 算法-动态规划-背包问题-474.一和零-C++

解释:最多有 5 个 0 和 3 个 1 的最大子集是 {“10”,“0001”,“1”,“0”} ,因此答案是 4。其他满足题意但较小的子集包括 {“0001”,“1”} 和 {“10”,“1”,“0”}。输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3。以输入:[“10”,“0001”,“111001”,“1”,“0”],m = 3,n = 3为例。输入:strs = [“10”, “0”, “1”], m = 1, n = 1。

2023-03-22 17:17:39 44

原创 算法-动态规划-背包问题-494.目标和-C++

dp[0]也应该是1, 也就是说给数组里的元素 0 前面无论放加法还是减法,都是 1 种方法。, an, 和一个目标数,S。当我们获得了容量大小为1时,我们有 dp[4]种方法 凑成 容量为5的背包。),凑成dp[j]就有dp[j - nums[i]] 种方法。输入:nums: [1, 1, 1, 1, 1], S: 3。有一个2 的话,有 dp[3]种方法 凑成 容量为5的背包。输入:nums: [1, 1, 1, 1, 1], S: 3。dp[j]代表j的大小的背包里面,有dp[j]种方法。

2023-03-22 16:09:11 272

原创 算法-动态规划-背包问题-1049.最后一块石头的重量II-C++

接下来就是如何初始化dp[j]呢,因为重量都不会是负数,所以dp[j]都初始化为0就可以了,这样在递归公式dp[j] = max(dp[j], dp[j - stones[i]] + stones[i]);= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。如果没有石头剩下,就返回 0。组合 2 和 4,得到 2,所以数组转化为 [2,7,1,8,1],组合 7 和 8,得到 1,所以数组转化为 [2,1,1,1],组合 2 和 1,得到 1,所以数组转化为 [1,1,1],

2023-03-22 11:21:05 441

原创 算法-动态规划-背包问题-416. 分割等和子集-C++

这道题目就是一道01背包应用类的题目,需要我们拆解题目,然后套入01背包的场景。01背包相对于本题,主要要理解,题目中物品是nums[i],重量是nums[i],价值也是nums[i],背包体积是sum/2。看代码的话,就可以发现,基本就是按照01背包的写法来的。

2023-03-22 10:55:26 380

原创 算法-动态规划-背包问题-C++

在一维dp数组中,dp[j]表示:容量为j的背包,所背的物品价值可以最大为dp[j]。

2023-03-22 10:11:08 1089

原创 算法刷题2

文章目录一、二分法二、使用步骤1.引入库2.读入数据总结提示:以下是本篇文章正文内容,下面案例可供参考一、二分法定义 二分法,即一分为二的方法。通过不断地把函数的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。二分法是一个非常高效的算法,它常常用于计算机的查找过程中。在用二分法进行查找时,查找对象的数组必须是有序的,即各数组元素的次序是按其值的大小顺序存储的。其基本思想是先确定待查数据的范围(可用 [left,right] 区间表示),然后逐步缩小范围直

2022-06-09 15:13:11 65

原创 算法刷题1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、时间复杂度(O(n))二、数组前言解析算法基础,了解算法一些名词,可能会更新一直。一、时间复杂度(O(n))概念:时间复杂度是一个函数,它定性描述该算法的运行时间。O代表最大的时间,也就是运行的上界。O(n)代表循环次数为n,O(n×2)循环次数为2n,一次类推,例如:对于多个循环语句,真正的计算是以最大为准,例如:当循环设定一些条件时,计算以实际条件为准,例如:当有多个条件时,以最复杂的时间复杂度.

2022-05-23 15:52:12 106

原创 STM32HAL库电机开发-速度环-位置式PID-无刷直流电机

工作原理无刷电机和有刷电机不同,无刷电机采用三相控制,大概是这样,原理就是安培定则,也叫右手螺旋定则,电生磁来控制转子,也就是说我们需要输出的pwm波有三条通道。无刷电机用到的传感器是霍尔传感器。霍尔传感器是根据霍尔效应制作的一种磁场传感器。霍尔效应:当电流垂直于外磁场通过半导体时, 载流子发生偏转,垂直于电流和磁场的方向会产生一附加电场,从而在半导体的两端产生电势差, 这一现象就是霍尔效应,这个电势差也被称为霍尔电势差。在BLDC中一般采用3个开关型霍尔传感器测量转子的位置,由其输出的3位二进制编

2022-03-11 19:53:33 13295 2

空空如也

空空如也

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

TA关注的人

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