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

原创 C++ 易错易混点
1、&在变量定义区,表示引用。&在变量操作区,表示取地址符。2、auto i=vector.begin();(*i).empty();或者i->empty()都可以。但是不能*i.empty();箭头运算符->:把解引用和成员访问两个操作结合在一起。3、c++定义二进制数:int s=0b101010;定义十六进制数:int s=0x30...
2019-08-13 23:12:16
181
原创 ROS tf使用报错:ImportError: dynamic module does not define module export function (PyInit__tf2)
研究小车导航需要用到GPS,小车的系统是ubuntu16.04,python3的默认版本是3.5,ROS是kinetic版本。
2023-11-21 12:57:01
1192
1
原创 Qt学习之路——Qt软件安装
鉴于未来用到Qt的可能性 比 VSS 更高,下载Qt 来学习学习 未雨绸缪,话不多说,先安个软件。1、Qt安装网址(http://download.qt.io/archive/qt/5.14/5.14.2/)Windows下安装,话说官网下安装也没感觉很慢(10min)...
2020-07-06 12:17:47
337
原创 计算器
class Solution {public: int calculate(string s) { stack<int> num; stack<char> opr; num.push(0); int index=0; while(index<s.size()) ...
2019-09-09 11:08:53
136
原创 试题——华为笔试总结
华为笔试8.28晚7点参加了华为的笔试,共有3道编程题,通过做题分析,发现自己一直是个弟弟。把记忆中的题,写出来,再分析一遍。1、三角形题问题描述:给定三角形的周长l,求满足这个周长的直角三角形的数量。解题思路:利用双重循环遍历最短边长,和第二长边,并利用勾股定理来判断是不是直角三角形(满足直角三角形的勾股定理一定是直角三角形三边)1、最短边(a<l/3);2...
2019-09-09 11:07:20
1709
1
原创 输入输出——用动态数组保存多行输入
将输入存到动态数组中先修知识getline(cin,str)来读取整行输入(包括空格),需要先定义string 变量 cin>>name;使用cin作为输入时,输入遇到空白(空格)就停止插入函数描述输入格式是:1 2 3 ;4 5 6。(因为有空格不能直接用cin) 输出是:1;2;3;4;5;6;因为有空格,只能尝试将两行输入作为字符串输入到vector容器中,并...
2019-09-02 23:26:00
604
原创 数组题——字符流中第一个不重复的字符
字符流中第一个不重复的字符知识点map<char,int> mymap; first对应char 。second对应int。找一下用法问题描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。如果当前字符流没有...
2019-08-24 22:52:01
121
原创 数组中的逆序对
数组中的逆序对知识点归并排序方法:先分(不断二分直到元素单独),再通过递归根据左右两部分从头到尾的元素大小进行push_back进新的容器中,进行递归排序。题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007解题思路由...
2019-08-24 18:49:15
156
原创 数组题——调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面知识点:奇偶判断方法:r%2:0为偶数,非0为奇数 %为除取余符号,/为除取整符号 范围for循环:for(auto r:vector) vector.clear(); vector.insert(插入位置,插入范围):ans.insert(ans.end(),a.begin(),a.end());题目描述输入一个整数数组,实现一个函数来调整该数...
2019-08-24 13:42:13
160
原创 数组题——把数组排成最小的数
把数组排成最小的数先修知识to_string(val),stoi(s,b,p) 字符串s从b开始转换成p进制整型 范围for循环:for(auto r:numbers){ nums.push_back(r)} 。定义变量r访问序列numsbers的每一个元素。r就是每个元素,如果需要改变该序列,用&r:for(auto &r:arr)。序列可以是数组也可以是容器 sor...
2019-08-24 13:20:39
166
原创 数组题——排序数组
排序数组题目描述给定一个整数数组nums,将该数组升序排列。解题思路冒泡排序法:从头到尾对每一个数都进行算法运算,要循环(nums.end())次,每次都从开始将相邻两个元素对比,大的交换到下面(已经对比过最大的必须要再进行对比)因此总共对比(nums.end()-(已经对比过的数字数量a-nums.begin())-1)次。使用swap(a,b)函数来进行交换处理。注意:因...
2019-08-23 20:09:50
399
原创 数组题——数组中出现次数超过一半的数
数组中出现次数超过一半的数题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路先将数组排序,那么在数组中间的那个数一定就是超过数组一半长度的数,再分别左右对比,计算出其出现的次数,如果大于数组长度一半,就将其输...
2019-08-20 22:32:37
172
1
原创 数组题——数字在排序数组种出现的次数(sort,equal_range,二分法)
数字在排序数组种出现的次数先修知识点范围for循环:for(元素类型 元素对象:容器对象){ 循环体; } 。用元素对象依次结合容器对象中的每一个元素,每结合一个元素,执行依次循环体,直至容器内的所有元素都被结合完为止。因此可以直接使用元素对象来进行比较判断 equal_range函数:返回两个数first、second。first为value可插入的第一个位置,second则是在不...
2019-08-20 10:45:12
266
原创 数组题——螺旋矩阵Ⅱ
螺旋矩阵Ⅱ先修知识点vector变量的初始化:vector<int> a(10) ; //声明一个初始大小为10的向量。一维向量 vector<int> a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量 。一维向量 vector<vector<int>> b(10, vector<int>(5)); /...
2019-08-17 23:27:57
198
原创 数组题——移动零
移动零题目描述给定一个数组 nums,将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。解题思路按照题目思路,别的数都不变,只将0移动到数组末尾,很简单,遇到0把0删了,然后在末尾添加0,就ok了。但是不同于删除重复数可以用while(iterator!=nums.end()){}这个只能用for循环class Solution {public: void ...
2019-08-16 20:23:07
290
原创 数组题——删除排序数组中的重复项
删除排序数组中的重复项先修知识迭代器的变量定义:auto i=vector.begin();使用auto来自动分配变量类型; 删除容器中的元素erase():vector.erase(iterator);这里是删除迭代器iterator指定的元素,iterator不能为end(),必须是真实元素。vector.erase(iterator1,iterator2);这是删除迭代器itera...
2019-08-16 16:39:27
218
原创 字母大小写全排列
字母大小写全排列先修知识点void B(string& A) :函数B的参数是对A的引用,共用同一个内存,返回值直接改变A的值isalpha(char):函数是用来判断char是不是字母,如果是字母返回true,如果不是字母返回false题目描述给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。输入: ...
2019-08-13 23:10:05
1216
1
原创 二叉树学习之旅——层次遍历
层次遍历先修知识点二维容器:vector<vector<int>> A;vector<int> B;A.push_back(B)。插入元素,元素的类型。 int len = A.size();intlen = A[i].size();vector A 的长度(元素的个数);vector A中元素i的长度。 访问元素和二维数组一样。A[i][j]...
2019-08-12 23:20:23
278
2
原创 二叉树学习之旅(7)——二叉树遍历
二叉树遍历先修知识点用到的算法:1.函数push_back,算法语言里面的一个函数名用于在vector容器后面加一个数据,v.push_back(val)如: 1) c++中的vector头文件里面就有这个push_back函数; 2) 在vector类中作用为在vector尾部加入一个数据; 3) string中也有这个函数,作用是字符串之后插入一个字符。...
2019-08-10 16:43:24
150
原创 二叉树的学习之旅(6)——平衡二叉树
平衡二叉树题目描述给定一个二叉树,判断它是否是高度平衡的二叉树。一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。解题思路高度平衡二叉树,在之前做过的树的深度的题的基础上,求解每个节点的高度(深度)判断其左右子树的高度差的绝对值不超过1即可。函数返回值为bool型。返回return ture/false。或者返回return 返回值为true/...
2019-08-09 11:40:06
186
原创 二叉树的学习(5)——镜像二叉树
镜像二叉树问题描述操作给定的二叉树,将其变换为源二叉树的镜像。解题思路:空就返回空。二叉树的景象很简单,就直接将左、右子树的指针只交换就行了。镜像二叉树是从上往下镜像的。一开始我就想建立一个新的树,将左右子树的信息交换,新的树就是源二叉树的镜像二叉树。问题就在这,我自作主张的建立了一个新树,返回的也是新树的,所以就通不过调试(把下面这个程序里的18,19行注释掉就可以发...
2019-08-08 17:08:37
202
原创 二叉树的学习(4)——最大深度
二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。题结题思路:节点深度等于左子树右子树较大深度+1 (说实话没有思路,就4...
2019-08-08 10:37:42
116
1
原创 二叉树的下一个节点——二叉树学习之路(3)
二叉树的下一个节点题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。题 分析一下找到二叉树当前节点的下一个节点这个问题,按照中序遍历的左-根-右的顺序,总共有三种情况:观察发现树中包含...
2019-08-07 16:56:49
101
1
原创 树——二叉树学习(2)
重构二叉树题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。题解题过程身为小白的我,这段时间一直想要搞明白这个重构过程(其实是放假了休息了好几天,懒可以战胜一切),结果智商不够是硬伤,第...
2019-08-06 22:53:39
157
1
原创 树——二叉树学习
作为一个小白的第二天(+第三天),今天被大神带领刷的题是这道:题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。看到题目的一瞬间,我一脸懵逼(╥﹏╥)。这都是什么啊!没办法在大神的指点下,我...
2019-07-10 21:41:47
154
原创 C++编程学习之旅
剑指offer题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。作为一个很多年没接触过c++的人c++是本科一年级学的,只用来考过了计算机c++二级,之后就一直没再碰过...
2019-07-08 20:13:05
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人