2 unspoken0714

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 28w+

Linux常见命令

pwd 当前位置cd … 返回上级目录cd ./xx 进入xx文件夹, ./表示当前路径后的路径cd ~/xx 进入xx文件夹, ./表示当根径后的路径mkdir xx 创建xx文件夹mkdir -p xx/yy 创建含有子目录的文件夹–h or --help 可以查看帮助mkdir --h 查看mkdir帮助rm 移除操作rm -r 删除[recursive] remove file or foldercp -r source distination复制cp -r hello he.

2020-10-24 16:01:50

PID控制

比例控制环节成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。无法消除稳态误差。但是响应快。由于实际系统是有惯性的,比例作用不宜太强,比例作用太强会引起系统振荡不稳定。积分控制环节主要用于消除静差,提高系统的无差度由于实际系统是有惯性的,输出变化后,y(t)值不会马上变化,须等待一段时间才缓慢变化,因此积分的快慢必须与实际系统的惯性相匹配,惯性大、积分作用就应该弱,积分时间

2020-10-22 07:08:22

c++如何跳出多重循环

c++中,break只能跳出单层循环。跳出多重循环方法:使用return, 跳出整段子程序使用goto,跳出所有循环,到指定地方class Solution {public: string longestCommonPrefix(vector<string>& strs) { string res; if(strs.empty()){ return res; } for(int

2020-10-17 05:32:06

bfs模板

广度优先搜索的模板利用一个队列记录每层的元素将每元素连接的下层元素压入队列将队列头元素离开队列直到队列为空,停止搜索class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { queue<TreeNode*> que; if (root != NULL) que.push(root); vector<vecto

2020-09-29 06:37:19

Linux下Visual code使用

创建工作空间mkdir projectscd projectsmkdir helloworldcd helloworldcode ..cd 是启动visual code创建文件创建helloworld.cpp文件#include <iostream>#include <vector>#include <string>using namespace std;int main(){ vector<string> msg

2020-09-27 08:44:47

gazebo模块化建模+控制器+传感器

使用xacro模块化建模定义常量: <xacro:property name="M_PI" value="3.1415926"/> <xacro:property name="base_mass" value="20" /> <xacro:property name="base_radius" value="0.20"/> <xacro:property name="base_length" value="0.16"/>

2020-09-14 17:29:33

算法面试注意事项

注意iostream输入例如:输入是一整串整数,以空格分开。怎样读取#include <iostream>#include <vector>#include <stdio.h>using namespace std;int main(){ int a = 0; vector<int> container; while(cin >> a){ con.push_back(a); char c = getchar; if

2020-09-13 06:51:40

c++中stl中的stack和queue

栈和队列是STL中两个数据结构。三个C++版本的STL:HP STLPJ PlaugerSGI STL常用的是SGI的STL里的数据结构。栈和队列是不提供随机访问功能的,所有的元素必须符合LIFO or FIFIO. 也不提供迭代器Iterator来遍历元素STL中栈的实现。对外提供pop,push,top三个接口底层以vector or deque or list实现默认为deque实现也可选择另外两个数据结构实现std::stack<int, std::vector&

2020-09-11 21:39:15

使用Gazebo建模

使用Gazebo建模// 创建包的步骤// 1. 创建文件夹// 2. 创建src子文件夹catkin_init_workspace catkin_makesource devel/setup.bash // 3. 进入src子文件夹// 4. 创建小车模型的包catkin_create_pkg my_car roscpp rospy std_msgs urdf xacrotouch my_car.urdf建模时需要注意坐标间的关系, 尤其是要区分Link和Joint模块中的坐标

2020-09-11 10:43:05

归并排序法及优化

归并排序法将数组分成两半,然后分别对其排序在将两部分在分别分成两半,然后对其排序直到每部分只剩下一个元素最后再使用递归merge两边的数组。Merge时,需要借助三个指针。一个指向左半部分;一个指向右半部分;一个指向辅助数组。class Solution {public: // 归并排序 void merge(vector<int>& arr, int low, int mid, int high){ // vector<int&

2020-09-09 17:28:16

快速排序

Leetcode 912 数组排序给你一个整数数组 nums,请你将该数组升序排列。方法一: 快速排序参考: https://blog.csdn.net/wthfeng/article/details/78037228基本思想:将基点放入他正确的位置,将数组划分为两份: 大于基点的,小于基点的。然后对两份分别进行递归,直至所有的点都位于合适的位置。确定出归条件,当区间只含有一个元素时,即:不用继续排序了。 所以出归条件为: low >= high.先将右边界向左扫描,遇到小于基点的元素

2020-09-09 03:11:29

Leetcode报错诊断

Heap-buffer-overflow引索越界,做题时maxIndex = nums.size();应该是maxIndex = nums.size() - 1;===================================================================30==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60300000000c at pc 0x000000401749 bp 0x7f

2020-09-09 01:02:42

Leetcode有关原地操作数组的题

Leetcode 26给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:使用双指针法,pre, cur

2020-09-08 08:07:44

如何在回调函数中发布消息

使用类实现在回调函数中发布消息#include <ros/ros.h>#include "circle/PersonMsg.h"#include "circle/velCommand.h"#include <turtlesim/Spawn.h>#include<geometry_msgs/Twist.h>using namespace std;#include <iostream>using namespace std;class Sub

2020-08-28 11:57:58

ROS功能包创建+话题通信实现

功能包创建catkin_create_pkg pkg_name std_msgs rospy roscpp// std_msgs rospy roscpp为相关依赖话题发布者一般包含如下要素:ROS节点初始化创建节点句柄穿件publisher设置循环频率 // ROS节点初始化 ros::init(argc, argv, "string_publisher"); // 创建节点句柄 ros::NodeHandle n; // 创建一个Pub

2020-08-19 08:38:02

分治算法

基本思想将复杂问题分解成小问题将子问题进行求解将子问题的解合并难点: 将 复杂问题分解成小问题分治算法的基本步骤分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题合并:将各个子问题的解合并为原问题的解案例: 汉诺塔问题汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆

2020-08-12 23:34:29

二分查找(非递归)

二分查找只适用于从有序的数列中进行查找运行时间为对数时间O(log⁡2n\log_2{n}log2​n), 即最多只需要log⁡2n\log_2{n}log2​n步。[0,99]中100个数进行查找,需要26<100<27步,最多需要7步思路:确定出归条件,找到了 或者 start>end找到中间的数,如果比中间数大,则向左找end = mid-1;如果比中间数大,则向右找,知道找到位置;start = mid +1;public class erfen { .

2020-08-12 20:48:40

二叉排序树

规则:左子节点值 < 父节点值右子节点值>=父节点值如果中序遍历二叉排序树,则会升序排列节点的添加和遍历public class BinarySortTree { private Node root; public void add(Node node){ if (this.root==null){ this.root = node; }else { this.root.add(nod

2020-08-10 21:55:03

堆排序(升序,降序,迭代,递归写法)

堆排序是一种选择排序。 平均时间复杂度为0(nlogn),是不稳定排序大顶堆: 完全二叉树,每个节点的值都大于或等于其左右子节点的值。(左右子节点的值不作要求)小顶堆:完全二叉树,每个节点的值都小于或等于其左右子节点的值大顶堆:小顶堆:堆排序的基本思想将待排序序列构造层一个大顶堆 (左节点2n+1; 右节点2n+2; 父节点(i-1)/2)序列的最大值处于,顶部的根节点先将数组变成大顶堆形式将大顶堆堆顶与最小叶子节点交换,使大顶堆位于最小叶子节点除,将其移除(后面不考虑)在对

2020-08-10 20:53:09

二叉树

二叉树可以按左边小,右边大,构建二叉树分左右两个两个指针,分别指向左右两个分支。其遍历方式可以分为三种:前序遍历:先访问根节点,然后访问左节点,最后右节点中序遍历:先访问左节点,然后访问根节点,最后右节点后续遍历:先访问左节点,然后访问右节点,最后根节点public class node { int num; node left; node right; public node(int num){ this.num = num;

2020-08-01 22:26:42

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。