- 博客(102)
- 收藏
- 关注
原创 ros的订阅sensor_msgs::PointCloud2的topic保存为.pcd格式点云
ros的订阅sensor_msgs::PointCloud2的topic保存为.pcd格式点云
2022-07-08 09:24:19
1567
原创 大小端对齐
大小端对齐1、用union来测试机器的大小端模式#include<stdio.h>//1、 union 方法 union MyUnion { int a; char b;};//2、指针方法int is_little_endian(void){ union MyUnion u1; u1.a = 1; return u1.b;}int is_little_endian2(void){ int a = 1; char b = *((char
2022-05-27 00:12:56
123
原创 常见面试题总结
1、32位程序移植到64位机器的注意事项1、64位机器下的指针占8个字节,而在32位机器下是4个字节;2、64位的结构体是8字节对齐的,而在32位机器下是4字节对齐的;
2022-05-25 16:29:09
81
原创 联发科实习一面
**联发科实习一面**1、汇编怎么调用c,汇编调用c函数怎么传参我是传送门2、操作系统有哪几部分组成*Linux操作系统主要由五个基本部分组成:进程调度、内存管理、虚拟文件系统、网络接口、进程间通信。进程调度:控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的程序,可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其他资源,则该进程不可运行进程。Linux使用比较简单的基于优先级的进程调度算法选择新的进程。内存管理:允许多个进程安全的共享主内存区域。Li
2022-05-20 11:29:43
437
原创 ubuntu16.04+pytorch--CPU版安装
ubuntu16.04+pytorch–CPU版安装1、安装anacondaanaconda下载地址python对应anaconda版本执行如下步骤安装bash Anaconda3-2020.02-Linux-x86_64.sh//安装完成执行如下,设置环境变量gedit ~/.bashrc //添加环境变量export PATH=/home/rikirobot/anaconda3/bin:$PATH2、安装pytorch我是官网哈哈哈!复制 Run this Command:c
2022-05-17 01:06:32
809
原创 地平线中间件开发一面凉
地平线中间件开发一面凉1、Linux中最常用的命令2、多态是如何实现的,有没有自己实现过一个多态3、了解多线程吗?C++函数库的多线程,还是Linux下的多线程,有没有自己实现过一个多线程4、vector的原理5、map的原理,map怎么存放结构体类型的数据6、项目相关问题7、编程题:二分法排序...
2022-05-12 10:26:53
309
原创 联发科嵌入式linux笔试
1、int a1 = 3, k =0;k = (i++ == 3) ? 6 : ((i == 3) ? 8 : 10);k输出为 10,说明此时第一步 i++ 后 i=4int a1 = 3, k =0;k = (i++ < 0) ? 10 : ((i == 3) ? 8 : 10);k输出为 10
2022-05-11 21:46:38
654
原创 C++中将string类型转化为int类型
C++中将string类型转化为int类型 把 string 型,转为int型#include <iostream>#include <string.h>#include <stdlib.h>using namespace std;int main(){ string a="11",b="22"; cout<<atoi(a)+atoi(b)<<endl; return 0;}#include <iostre
2022-04-15 21:18:52
10944
原创 第三十六天剑指 Offer 61. 扑克牌中的顺子
剑指 Offer 61. 扑克牌中的顺子从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。 示例 1:输入: [1,2,3,4,5]输出: True 示例 2:输入: [0,0,1,2,5]输出: Trueclass Solution {public: bool isStraigh
2022-03-30 00:12:32
137
原创 第三十五天剑指 Offer 10- II. 青蛙跳台阶问题
剑指 Offer 10- II. 青蛙跳台阶问题一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100青蛙跳有两种情况,一节或者两节,f(2) = f(1)+f(
2022-03-29 21:17:49
194
原创 ORB-SLAM2构建稠密地图 ros-kinetic 深度相机
ORB-SLAM2构建稠密地图参考如下链接:orbslam2详细编译过程问题:1、orbslam2 编译1build.sh将j1改为j2可以避免卡死make -j22、build_ros.sh/usr/bin/ld: CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o: undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’/usr/lib/x86_64-linux-gnu/libb
2022-03-27 22:36:34
7409
原创 linux内存泄漏检测valgrind
valgrind 检查内存泄漏 Linux 下1、安装sudo apt-get install valgrind2、使用先用qt或者g++对代码编译然后对编译后的文件生成可执行程序test之后,如何使用Valgrind来生成内存的记录文件呢?一般这样使用:valgrind --leak-check=full --log-file=test_valgrind.log --num-callers=30 ./test–log-file 后面的test_valgrind.log是指定生成的日志文
2022-03-23 15:37:13
2574
原创 第三十四天剑指 Offer 66. 构建乘积数组
剑指 Offer 66. 构建乘积数组给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24] class Solution {public: vector<in
2022-03-19 19:51:57
135
原创 第三十四天剑指 Offer 47. 礼物的最大价值
剑指 Offer 47. 礼物的最大价值在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 示例 1:输入: [ [1,3,1], [1,5,1], [4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物class Solution: de
2022-03-19 15:12:48
79
原创 第三十三天剑指 Offer 46. 把数字翻译成字符串
剑指 Offer 46. 把数字翻译成字符串给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"class Solution {public: int tr
2022-03-18 18:37:28
369
原创 第三十二天剑指 Offer 38. 字符串的排列
剑指 Offer 38. 字符串的排列输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]class Solution {public: vector<string> permutation(string s) { dfs(s, 0); r
2022-03-17 11:25:38
508
原创 第三十一天剑指 Offer 42. 连续子数组的最大和
剑指 Offer 42. 连续子数组的最大和输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 主要本题主要难点在于找到最大数据段的规律,如果第i个数据之前的和小于0,那往后加就变小,那就不要加了,迭代下去class S
2022-03-16 21:26:59
201
原创 第三十一天剑指 Offer 16. 数值的整数次方
剑指 Offer 16. 数值的整数次方实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 示例 1:输入:x = 2.00000, n = 10输出:1024.00000示例 2:输入:x = 2.10000, n = 3输出:9.26100示例 3:输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25&nb
2022-03-16 20:43:42
419
原创 第三十天剑指 Offer II 022. 链表中环的入口节点
剑指 Offer II 022. 链表中环的入口节点给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos
2022-03-11 21:23:27
112
原创 第三十天剑指 Offer II 021. 删除链表的倒数第 n 个结点
剑指 Offer II 021. 删除链表的倒数第 n 个结点给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]class Solution {public: ListNode* removeNthFromEnd(ListNode* hea
2022-03-11 19:24:14
1432
原创 第三十天剑指 Offer 52. 两个链表的第一个公共节点
剑指 Offer 52. 两个链表的第一个公共节点输入两个链表,找出它们的第一个公共节点。如下面的两个链表**:**在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表
2022-03-11 12:21:50
85
原创 第三十天剑指 Offer 35. 复杂链表的复制
剑指 Offer 35. 复杂链表的复制请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]示例 2:输入:head = [[1,1],[2,1]]输出:[[1,1]
2022-03-11 11:57:51
90
原创 第三十天剑指 Offer II 024. 反转链表
剑指 Offer II 024. 反转链表给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]class Solution {public: ListNode* reverseList(ListNode* head) { ListNode* phead
2022-03-11 09:18:09
951
原创 第二十九天剑指 Offer 32 - III. 从上到下打印二叉树 III
剑指 Offer 32 - III. 从上到下打印二叉树 III请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]]注意本题奇数行和偶数行
2022-03-10 18:43:20
6194
原创 第二十九天剑指 Offer 32 - II. 从上到下打印二叉树 II
剑指 Offer 32 - II. 从上到下打印二叉树 II从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]广度优先搜索,调用队列,但此处设置了不同的地方,因为需要将每一层次的数据隔离开来,因此我们需要设置一个隔离数值讲不通的层
2022-03-10 18:42:47
84
原创 第二十九天面试题32 - I. 从上到下打印二叉树
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]解题思路:题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)。BFS 通常借助 队列 的先入先出特性来实现。对于队列在此我们要详细理解一下,首先将根节点加入队列,然后将
2022-03-10 18:42:13
76
原创 第二十八天剑34. 二叉树中和为某一值的路径
剑指 Offer 34. 二叉树中和为某一值的路径给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。 示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]输入:root = [1,2,3], targetSum = 5
2022-03-10 00:29:38
101
原创 第二十七天剑指 Offer 36. 二叉搜索树与双向链表
剑指 Offer 36. 二叉搜索树与双向链表输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地,我们希望可以就地完成转换操
2022-03-09 22:26:04
95
原创 c++类型转换详解
c++ const_cast;#include<iostream>using namespace std;int main(){//c++ const_cast;const int a = 10 ;int* pA = &a; }不能讲一个常量直接赋值给一个int 类型demo1.cpp: In function ‘int main()’:demo1.cpp:7:11: error: invalid conversion from ‘const int*’ to ‘
2022-03-07 12:43:00
784
原创 第二十六天剑指 Offer 33. 二叉搜索树的后序遍历序列
剑指 Offer 33. 二叉搜索树的后序遍历序列输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出: trueclass Solution {p
2022-03-05 22:20:04
235
原创 weak_ptr 使用场合
weak_ptr 使用场合weak_ptr只能从shared_ptr对象构建,或者从另外一个weak_ptr获取。weak_ptr并不影响动态对象的生命周期,即其存在与否并不影响对象的引用计数器。当weak_ptr所指向的对象因为shared_ptr计数器为0而被释放后,那么weak_ptr的lock方法将返回空。weak_ptr并没有重载operator->和operator *操作符,因此不可直接通过weak_ptr使用对象。提供了expired()与lock()成员函数,前者用于判断w
2022-03-05 21:29:44
465
原创 第二十六天剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B
2022-03-05 20:33:52
70
原创 第二十五天剑指 Offer 07. 重建二叉树
剑指 Offer 07. 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1]Output: [-1]class Solu
2022-03-04 21:31:50
481
原创 第二十五天剑指 Offer II 056. 二叉搜索树中两个节点之和
剑指 Offer II 056. 二叉搜索树中两个节点之和给定一个二叉搜索树的 根节点 root 和一个整数 k , 请判断该二叉搜索树中是否存在两个节点它们的值之和等于 k 。假设二叉搜索树中节点的值均唯一。 示例 1:输入: root = [8,6,10,5,7,9,11], k = 12输出: true解释: 节点 5 和节点 7 之和等于 12示例 2:输入: root = [8,6,10,5,7,9,11], k = 22输出: false解释: 不
2022-03-04 12:04:38
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人