- 博客(43)
- 收藏
- 关注

原创 c++基础语法笔记
1.成员访问运算符对于形如point->mem的表达式,根据point的类型不同,其分别等价于(*point).mem; //point是一个内置的指针类型point.operator()->mem; //point是类的一个对象2.运算优先级*(i++)先运算,再执行加操作;*(++i)相反3.类型转换char转intchar s;int...
2019-08-02 10:31:22
174
原创 LeetCode周赛-20220116_01
题目描述:将字符串拆分为若干长度为 k 的组 - LeetCode Contest (leetcode-cn.com)char** divideString(char* s, int k, char fill, int* returnSize) { int len = strlen(s); int flag = (len % k == 0) ? 0 : 1; int size = len / k + flag; char** retPrt = malloc(sizeof(char...
2022-01-16 18:03:57
437
原创 UML
VS code下绘制流程图与状态机等,使用plantuml插件,且状态图需要graphviz依赖。下载graphviz并安装后,2.44版本需要用管理员权限,在CMD中进入./bin,并执行dot -c命令,才可以正常使用
2020-11-26 09:35:33
124
原创 moveit
添加障碍物不显示:use theapplyCollisionObjectsmethod instead ofaddCollisionObjectsor sleep again after you added the objects
2020-04-26 12:10:21
239
原创 moveit frame支持的机器人列表
源网址:https://moveit.ros.org/robots/UR5:https://github.com/ros-industrial/universal_robotJACO:https://github.com/Kinovarobotics/kinova-ros/tree/master/kinova_moveit
2020-04-24 09:47:15
188
原创 UR使用
官网提供的包驱动只适用于控制软件3.0以下的版本,新版本需要使用ur_modern_driver驱动自己创建Pakage时,如果用到moveit的规划功能,需要添加moveit_ros_planning_interface依赖,否则会找不到Eigen/Geometry。如果创建时没有添加,需要手动在CMakeLists中的find_package中加入,且在package.xml中加入mo...
2019-12-07 20:33:26
1185
原创 QT调用VTK库,VS2017编译
1.VTK是一个可视化工具包,采用VTK-8.0.2,cmake-3.14.0-win64-x64.msi,新建build文件件,config选择VS2017和对应位数中间出现的问题还需要进行配置VS的配置,选择linux与桌面开发,同时添加一个CRT SDK组件VS打开build中的VTK_sln,选择All_bulid生成,选择Install,仅用于项目,仅生成Install,...
2019-12-07 20:20:02
643
原创 关于智能指针的学习
#include "mainwindow.h"#include <QApplication>#include <iostream>#include <QDebug>#include <QHash>#include <QVector>#include <memory>using namespace std;...
2019-11-28 15:23:55
91
原创 LeetCode,88合并两个有序数组
题目描述:给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int nums1_s = m,nums2_s = n; ...
2019-11-04 23:00:57
128
原创 LeetCode 69,x 的平方根
题目描述:实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 int mySqrt(int x) { if(x==0) return 0; else if(x<4) return 1; else{ int le...
2019-10-31 23:21:03
98
原创 LeetCode 67,二进制求和
题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。 string addBinary(string a, string b) { stack<char> s_a,s_b; for(int i = 0;i<a.size();++i){ s_a.push(a[i]...
2019-10-28 23:15:16
82
原创 LeetCode 66,加一
题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。 vector<int> plusOne(vector<int>& digits) { int jinwei = 0; for(int ...
2019-10-22 23:16:04
125
原创 LeetCode 58,最后一个单词的长度
题目描述:给定一个仅包含大小写字母和空格' '的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0。 int lengthOfLastWord(string s) { int ans = 0; if(s.size()==0) return ans; else{ string n = ""...
2019-10-21 23:19:52
133
原创 LeetCode 35.搜索插入位置
题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。 int searchInsert(vector<int>& nums, int target) { if(nums[0]>=target) return 0; int l...
2019-10-17 23:10:49
91
原创 LeetCode 28,实现 strStr()
题目描述:给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。 int strStr(string haystack, string needle) { if(needle=="") return 0; for(int i = ...
2019-10-15 23:41:48
94
原创 LeetCode 14,最长公共前缀
题目描述:编写一个函数来查找字符串数组中的最长公共前缀。 string longestCommonPrefix(vector<string>& strs) { bool st = true; int i = 0; string ans; while(st){ set<c...
2019-10-12 22:22:25
94
原创 c++面试
C++ 基础篇:1.声明与定义的区别。声明不包含定义,定义一定包含声明,定义需要分配内存2.extern 和 static 的区别,什么情况用前者什么情况用后者3.x=x+1,x+=1,x++哪个效率高1.右值地址,右值+1,左值地址,左值赋值2.右值地址,右值+1,右值赋值3.右值地址,右值自增4.const 和#define 的优缺点const进行类型检查5.str...
2019-09-08 11:06:52
159
原创 回溯法
1.机器人的运动范围牛客网题目描述:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?cla...
2019-09-07 23:39:23
137
原创 规划算法
1.Dijkstra算法,典型的单源最短路径算法。Dijkstra提出按各顶点与源点v间的路径长度的递增次序,生成到各顶点的最短路径的算法。既先求出长度最短的一条最短路径,再参照它求出长度次短的一条最短路径,依次类推,直到从源点v 到其它各顶点的最短路径全部求出为止。单源最短路径,给定一个带权有向图G=(V,E),其中每条边的权是一个实数。另外,还给定V中的一个顶点,称为源。现在要计算从源...
2019-09-07 11:17:46
445
原创 c++选择题
1.小型机通常采用RISC和unix操作系统。(√)小型机操作系统一般是UNIX,PC服务器操作系统一般是windows。但是题干中RISC不是操作系统,是精简指令集计算机,是计算机中央处理器的一种设计模式,这种设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高,是CPU的设计模式,对应ARM。RISC专注高性能、高性能功耗比、小体积以及移动设备领域...
2019-09-05 23:21:57
2329
原创 动态规划
1.0-1背包问题#define N 6#define W 21knapsack::knapsack(){ int B[N][W] = {0}; int w[N] = {0,2,3,4,5,9}; int v[N] = {0,3,4,5,8,10}; for(int k = 1;k<N;k++){ for(int c = 1;...
2019-09-03 14:59:44
201
1
原创 ROS
机器人通用软件框架,集成了大量的工具、库、协议,提供类似操作系统的功能,包括硬件抽象,底层驱动程序管理,共用功能执行、程序间消息传递、程序发行包管理。最初应用于斯坦福与机器人技术公司(willow garage),08年后由willow garage维护。1.ROS的缺点1)节点间基于消息机制通信,通讯部分消耗了很多系统资源。尤其是当所有节点位于同一个处理器时,ROS仍然一直执行相应的...
2019-08-19 19:25:43
1093
原创 表示数值的字符串
牛客网题目描述:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。方法一:状态迁移表/自动机class Solution {public: char arr[10] = "+-n...
2019-08-14 11:20:31
229
原创 基本计算器
力扣网题目描述:实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号(,右括号),加号+,减号-,非负整数和空格。class Solution {public: stack<char> fuhao; stack<int> num; vector<char> pre_fuhao;...
2019-08-13 17:45:56
187
原创 有效的括号
力扣网题目描述:给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。class Solution {public: bool isValid(string s) { stack<char>...
2019-08-12 15:19:17
103
原创 字符流中第一个不重复的字符
牛客网题目描述:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。class Solution{public: //Insert one char from stringstream map<char,in...
2019-08-10 12:02:04
84
原创 数组中的逆序对
牛客网题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007class Solution {public: int nixu_num; int InversePairs(vector<int> data...
2019-08-10 10:38:21
120
原创 调整数组顺序使奇数位于偶数前面
牛客网:题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变class Solution {public: void reOrderArray(vector<int> &array) { if(!array.size()...
2019-08-09 17:02:55
86
原创 把数组排成最小的数
牛客网题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323class Solution {public: string PrintMinNumber(vector<int> numbers) { vector<st...
2019-08-09 16:49:29
237
1
原创 排序算法
1.先来最简单的冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。 每一轮对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。第一轮结束,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤n-1轮,分别倒序排好倒数第二大、倒数第三大……的元素。直到没有任何一对数字需要比较。class Solution {public: vector<int&...
2019-08-09 12:11:45
113
原创 数组中出现次数超过一半的数字
牛客网题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。class Solution {public: int MoreThanHalfNum_Solution(vector<int> number...
2019-08-08 16:59:18
90
原创 数字在排序数组中出现的个数(二分查找)
牛客网:统计一个数字在排序数组中出现的次数class Solution {public: int GetNumberOfK(vector<int> data ,int k) { int cishu = 0; for(auto r : data) { if (r==k) { ...
2019-08-08 15:54:58
143
原创 螺旋矩阵II
力扣网:给定一个正整数n,生成一个包含 1 到n2所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。class Solution {public: vector<vector<int>> generateMatrix(int n) { vector<vector<int>> M(n,vector<int&g...
2019-08-07 16:58:07
100
原创 删除排序数组中的重复项
力扣网:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。class Solution {public: int removeDuplicates(vector<int>& nums) { if (nums...
2019-08-07 11:08:05
141
1
原创 字母大小写全排列
力扣网题目描述:给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。class Solution {public: vector<string> my_letter; vector<string> letterCasePermutation(string S) { ...
2019-08-05 21:28:33
328
原创 二叉树遍历
中序遍历class Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> inorder; if (root) { inorder.push_back(root->val)...
2019-08-05 21:28:19
125
原创 平衡二叉树
牛客网题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。class Solution {public: bool IsBalanced_Solution(TreeNode* root) { int left,right; if (root == NULL) { return true; ...
2019-08-05 21:27:14
247
原创 二叉树镜像
牛客网题目描述:操作给定的二叉树,将其变换为源二叉树的镜像/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {publi...
2019-08-02 15:01:48
111
原创 二叉树深度
牛客网题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), righ...
2019-08-02 11:18:16
84
原创 重建二叉树
剑指offer输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * struct TreeNode { * int val;...
2019-07-11 20:32:08
93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人