自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 动态规划第二讲

这次是从表达式的角度对动态规划进行分类1.前缀和sum(i, j) = sums(0, j + 1) - sum(0, i)ans = max(ans,i-map[value-k]+1);2.区间动态规划for len = 1…nfor i = i…lenj = i + len - 1for k = i…jdp[i][j] = max(dp[i][j], f(dp[i][k], dp[k][j]))3.背包问题0-1 背包对物品的迭代放在外层,里层的体积或价值逆向遍历;完全背包对物品

2021-09-23 08:47:18 113

原创 二分/双指针/排序

二分模板1int left = 0, right = nums.size() - 1;while(left <= right)else if(nums[mid] < target) { left = mid + 1; }else { right = mid - 1; }模板2主要用于找到当前索引和右邻居int left = 0, right = nums.size();while(left < right){int mid = left + (right - left)

2021-09-21 18:00:54 123

原创 深度搜索/广度搜索

广度搜索采用队列的方式queue<pair<int, int>> p;while(!p.empty()){int n = p.size();while(n>=0){auto [x,y] = p.front();p.pop();…p.push()…;}}拓扑排序把拓扑转换成图的结构vector<vector> to(n);vector ingree(n,0);for(auto iter:relations){to[iter[0]

2021-09-21 17:14:58 139

原创 字符串/map/set的操作

截取其中一段字符串str.substr(i,j-i); //长度是j-iunordered_set s;s.insert(d);s.erase(d);s.count(d)s.find(d) ==s.end()unordered_map<int,int>根据value 寻找keyauto pos = hash.find(target - num);if (pos == hash.end()) {hash[num] = i;map.insert(make_pair(5,5))

2021-09-21 13:52:02 96

原创 LeetCode之动态规划

目前,我觉着刷题里面,最难的就是动态规划,结合leetcode101总结下.1.一维关联dp[i] = dp[i-1]+dp[i-2]2.二维关联dp[i][j] = min(dp[i-1][j-1], min(dp[i][j-1], dp[i-1][j])) + 1;3.分割类型割类型题,动态规划的状态转移方程通常并不依赖相邻的位置,而是依赖于满足分割条件的位置dp[i] = dp[i] || dp[i - len];4.子序列类型对于子序列问题,第一种动态规划方法是,定义一个 dp 数

2021-09-20 23:15:50 77

原创 C++编译 栈/堆/静,动态变量

编译过程分为四个过程:编译(编译预处理、编译、优化),汇编,链接。编译预处理:处理以 # 开头的指令;编译、优化:将源码 .cpp 文件翻译成 .s 汇编代码;汇编:将汇编代码 .s 翻译成机器指令 .o 文件;链接:汇编程序生成的目标文件,即 .o 文件,并不会立即执行,因为可能会出现:.cpp 文件中的函数引用了另一个 .cpp 文件中定义的符号或者调用了某个库文件中的函数。那链接的目的就是将这些文件对应的目标文件连接成一个整体,从而生成可执行的程序 .exe 文件。链接分为两种:静

2021-09-20 21:41:55 345

转载 c++单例模式/工厂模式/观察者模式

单例模式:保证类的实例化对象仅有一个,并且提供一个访问他的全局访问点。应用场景:表示文件系统的类,一个操作系统一定是只有一个文件系统,因此文件系统的类的实例有且仅有一个。打印机打印程序的实例,一台计算机可以连接好几台打印机,但是计算机上的打印程序只有一个,就可以通过单例模式来避免两个打印作业同时输出到打印机。实现方式:单例模式可以通过全局或者静态变量的形式实现,这样比较简单,但是这样会影响封装性,难以保证别的代码不会对全局变量造成影响。默认的构造函数、拷贝构造函数、赋值构造函数声明为私有的,这

2021-09-20 19:04:11 471

原创 cmake的用处

cmake 编译工具,主要描述编译过程’CMake 的组态档取名为 CMakeLists.txt第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;第二条命令用于根据CMakeLists.txt生成Makefile文件; cmake第三条命令用于执行Makefile文件,编译程序,生成可执行文件; makecmake里面需要明确制定包含那些源文件,自定义搜索规则,查找制定的库文件,设置targ

2021-09-13 15:58:54 461

原创 什么时候头文件写实现

为什么通常不在头文件里面写实现?因为 头文件被包含到不同的源文件中,会导致链接冲突.头文件被包含到不同的源文件中,会导致有多份实现被编译出来,增大可执行体的体积.如果这个函数的头文件只在一个源文件中调用编译器是不会报错的,如:head.hint max(int a, b){ return a+b;}只在source.cpp有#include “head.h”但是在另一个源文件中也包含就会报错,即不能再出现如:source2.cpp#include “head.h”解决办法,一是将函数

2021-09-10 17:05:13 292

原创 C++成员变量初始化

两种方式,一种是构造函数初始化列表,一种是构造函数函数体内赋值.`class Animals{Animals(int x,int y):x_ (x),y_(y){} //初始化成员列表Animals(int x,int y){ x_ = x;y_ =y;}//构造函数内赋值}`class Dog:public Animals{public:Dog(int x,int y ,int z):Animals(x, y),len_(4){}}private:const int len_

2021-09-10 15:25:55 97

原创 深度搜索,广度搜索,回溯

深度搜索深度优先搜索(depth-first seach,DFS)在搜索到一个新的节点时,立即对该新节点进行遍历;因此遍历需要用先入后出的栈来实现,也可以通过与栈等价的递归来实现。有时我们可能会需要对已经搜索过的节点进行标记,以防止在遍历时重复搜索某个节点,这种做法叫做状态记录或记忆化(memoization)广度搜索广度优先搜索(breadth-first search,BFS)不同与深度优先搜索,它是一层层进行遍历的,因此需要用先入先出的队列而非先入后出的栈进行遍历。由于是按层次进行遍历,

2021-01-24 23:08:26 205

原创 动态规划

1.贪心、分治、回溯、动态规划,这四个算法思想有关的理论知识,大部分都是“后验性”的,也就是说,在解决问题的过程中,我们往往是先想到如何用某个算法思想解决问题,然后才用算法理论知识,去验证这个算法思想解决问题的正确性。2.现在,我们再来看,什么是“三个特征”?它们分别是最优子结构、无后效性和重复子问题。这三个概念比较抽象,我来逐一详细解释一下3.回溯算法相当于穷举搜索。穷举所有的情况,然后对比得到最优解。不过,回溯算法的时间复杂度非常高,是指数级别的,只能用来解决小规模数据的问题。对于大规模数据的问题,

2020-11-24 17:33:48 314 1

原创 二分法

1.循环的条件low<=high2.mid = low+(high-low)/2如果low和high比较大,会溢出3.low= mid+1,high = mid-1这样能够避免进入死循环二分查找的局限性1.操作数据结构需要是数组2.其次,二分查找针对的是有序数据优势:不管是散列表还是二叉树,都会需要比较多的额外的内存空间,采用数组的结构不需要额外的存储空间...

2020-11-12 21:02:51 67

原创 链表

if (head->next == null) {head = null;}if (head==null){head = newnode;}# 空链表插入哨兵结点是不存储数据的

2020-11-12 20:27:29 47

原创 红黑树

平衡二叉树的严格定义是这样的:二叉树中任意一个节点的左右子树的高度相差不能大于根节点是黑色的;每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存储数据;任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的;每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点;红黑树中包含最多黑色节点的路径不会超过 log 2 n,所以加入红色节点之后,最长路径不会超过 2log 2 n...

2020-11-12 20:26:22 63

原创 前序中序后序遍历

1 void preOrder(Node* root) {2 if (root == null) return;3 print root // 此处为伪代码,表示打印 root 节点4 preOrder(root->left);5 preOrder(root->right);6 }78 void inOrder(Node* root) {9if (root == null) return;10 inOrder(root->left);11 print root //

2020-11-12 20:19:32 54

原创 递归常遇到的问题

在实际的软件开发中,编写递归代码时,我们会遇到很多问题,比如堆栈溢出。而堆栈溢出会造成系统性崩溃,后果会非常严重。为什么递归代码容易造成堆栈溢出呢?我们又该如何预防堆栈溢出呢?我在“栈”那一节讲过,函数调用会使用栈来保存临时变量。每调用一个函数,都会将临时变量封装为栈帧压入内存栈,等函数执行完成返回时,才出栈。系统栈或者虚拟机栈空间一般都不大。如果递归求解的数据规模很大,调用层次很深,一直压入栈,就会有堆栈溢出的风险。空间复杂度高、有堆栈溢出的风险、存在重复计算、过多的函数调用会耗时较多等问

2020-11-12 20:17:36 1295

原创 PGM和贝叶斯网络(HMM/LDS)之间的区别

贝叶斯网络是包含时间序列的PGM.相当于在PGM上面加了一个时间的维度.

2020-09-21 11:07:23 422

原创 symbol lookup error问题问题的查找、定位与解决方法

在加载了程序后,发现如下的问题./prediction_hmm_app: symbol lookup error: ./prediction_hmm_app: undefined symbol: _ZN4holo6common8SensorId23Deserialize4ByteAlignedEPKhj这个时候是由于没有找到SensorId23Deserialize4ByteAligned这个...

2020-04-27 11:25:05 5004 1

原创 hpp.文件debug

1.问题:当采用常规的cpp方法加log的时候,发现当重新编译的时候,并不会对hpp重新编译2.原因:直接把实现写在头文件里的话,你发布之后肯定会因为要修bug或者加功能去修改它。一旦这个头文件被修改了,那所有使用这个头文件的file都要被重新编译。而将实现和头文件分开的话,只要接口在一开始就定义好,那就不需要因为修bug或加功能而修改头文件,用户只要更新一下动态链接库就可以了。动态链接库:共...

2020-03-31 17:10:27 450

原创 无人驾驶领域值得关注的会议

1.ICRA2.IROS3.IEEE International Conference on Robotics and Biomimetics4.机器人与智能技术国际会议(ICRIT 2020)5.AIM:IEEE\ASME International Conference on Advanced Intelligent Mechatronics,即IEEE\ASME先进智能机电一体化国际...

2020-03-31 10:10:56 782

原创 Benchmark的一些心得

1.加速1.1在加速的过程,通过shell文件实现多终端运行1.2分批次去阅读文件pandas中chunk工具2.debug2.1先进行批量测试,可能是程序问题,也可能是数据的问题,找到表现不好的bag,看模拟器2.2debug的时候写一些测试案例,观察是如何变化...

2020-01-12 21:24:20 461

原创 Linux磁盘占满了,如何清除

在启动roscore的时候,如何做:~/.ros/log$ rm -rf *

2019-11-18 11:05:27 432 1

原创 Virtualenv如何生成Python2 和Python3 两个环境

1.下载Virtualenv2.cd 到Virtualenv想要搭建的目录下3.如果环境本身是Python2 的环境:$ virtualenv -p /usr/local/bin/python2.7 test搭建Python3的环境的时候:$ virtualenv -p /usr/bin/python3.4 test4.激活环境:$ cd test$ source ./bin/ac...

2019-09-23 15:31:29 832

原创 np.dataframe读取数据如何进行转换

问题:’[-1.5195392370224, -0.010261821560561657, -8.885175338946283e-05, -4.48313357992447e-06, 1.0]‘这种str如何转化为array读取解决方案:c = ‘[-1.5195392370224, -0.010261821560561657, -8.885175338946283e-05, -4.48313...

2019-09-12 16:26:21 571

原创 ROS中maker_array不停闪烁的原因

1.来自每次只发送一个id信息,所以可能不停显示不同的id信息2.数据跳帧3.maker_array的信息停留时间过长,所以需要设置maker_array信息的停留时间

2019-09-03 10:53:28 821

原创 Python中判断是一维数组还是二维数组

如果直接用len,会发现len([1,2,4])为5所以采用.ndim来获取数组维度x = np.array([1, 2, 3, 4])print(x.ndim)最后答案:1

2019-09-02 21:29:21 10003

原创 默认路径是Python3,在catkin make阶段遇到问题

出现问题: ImportError: “from catkin_pkg.package import parse_package” failed: No module named ‘catkin_pkg’分析原因:vim catkin_make 文件,发现#!/usr/bin/python,这个时候catkin_make使用的是usr的默认Python3 路径,所以会出现找不到相关的模块的问题...

2019-08-15 07:32:28 2107

原创 【python】numpy矩阵运算遇到的一些问题

【python】numpy矩阵运算遇到的一些问题1.使用np.concatenate遇到的问题:numpy.AxisError: axis 1 is out of bounds for array of dimension 1解决思路:这个出现的原因坐标1超出了维度.进行拼接的时候,最重要的是维度进行匹配:解决方案:将矩阵的维度进行转换a = np.array([[1, 2], [3, ...

2019-08-02 14:15:06 1859 1

原创 Python如何拼接文件

from future import print_functionimport numpy as npimport randomimport mathimport osif name == ‘main’:a=np.array([1, 6, 7, 8, 12])diff_x1 = np.diff(a)print("diff_x1",diff_x1)data=np.loadtxt(...

2019-07-15 15:55:51 1722

原创 bashrc文件一不小心折腾到初始设置了

激活python35环境时出错显示:CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’.激活环境source activate退出环境source deactivate

2019-07-15 15:53:14 524

原创 Ubuntu下切换Python3.7-Python3.5

出现的现象:python --versionPython 3.7.1想要实现的目标:版本为3.5方法:echo alias python=python3.5 >> ~/.bashrcsource ~/.bashrc成功啦python --versionPython 3.5.2

2019-04-10 21:57:45 2124 2

原创 ubuntu允许Carla出现问题合集

ubuntu允许Carla出现问题合集*1.sudo apt-get update**2.permission denied*1.sudo apt-get update问题:Fetched 32.8 MB in 1min 16s (430 kB/s)W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty...

2019-04-10 21:53:52 970 2

单片机程序下载不了可能原因

程序没问题,上电操作步骤没问题,单片机程序下载不了可能原因

2016-02-15

空空如也

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

TA关注的人

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