07 2020 档案

摘要:题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 解题思路:若数组长度不 阅读全文
posted @ 2020-07-31 12:04 ZyLin-ux 阅读(129) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 struct Infor 7 { 8 public: 9 int num; 10 string name; 11 int score; 12 }; 13 14 阅读全文
posted @ 2020-07-30 19:19 ZyLin-ux 阅读(282) 评论(0) 推荐(0)
摘要:题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 心得:两数相加还能这么表示 1 #include <iostream> 2 3 using namespace std; 4 5 class Solution 6 { 7 public: 8 int Add(i 阅读全文
posted @ 2020-07-29 19:40 ZyLin-ux 阅读(104) 评论(0) 推荐(0)
摘要:题目:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] 阅读全文
posted @ 2020-07-28 17:00 ZyLin-ux 阅读(120) 评论(0) 推荐(0)
摘要:凡人用迭代,神仙用递归。 今天学习了熟悉而又陌生的递归,写个博客总结一下。 以我的个人理解,递归就是函数直接或间接地调用自己,在形态上就是数学函数的直观体现。即如果给了一个问题,你可以用数学函数进行描述,那递归算法就基本上出来了。 虽然在直观上不好理解(也可能是我的思维习惯了迭代,不习惯递归),但是 阅读全文
posted @ 2020-07-26 19:42 ZyLin-ux 阅读(145) 评论(0) 推荐(0)
摘要:这周课题组比较忙,牺牲了练题时间,该打该打。。。 中等题型,对于我还是挺难的 ಥ﹏ಥ ,不得不从答案找思路,这道题对于我的难点在于一次性生成numRows个容器/字符串 对于vector<>数据类型不是很熟悉,只好进行了遍历、拼接等操作,遍历了好几次,时间复杂度估计有点高,之后熟悉vector操作后 阅读全文
posted @ 2020-07-20 19:10 ZyLin-ux 阅读(193) 评论(0) 推荐(0)
摘要:感想:今天学到了新知识,unordered_set与unorder_map数据类型,可以提供查找(find)、移除(erase)与插入(insert)功能。 这个程序在报错→调试→报错→调试…中完成。 1 #include <iostream> 2 #include <string> 3 #incl 阅读全文
posted @ 2020-07-15 21:06 ZyLin-ux 阅读(206) 评论(0) 推荐(0)
摘要:方法:找着找着规律,发现是斐波那契数列,还是使用迭代的方法,驾轻就熟了,第一次一遍过 1 //找规律过程中,发现是斐波那契数列 f(n) = f(n-1) + f(n-2) 2 3 #include <iostream> 4 5 using namespace std; 6 7 class Solu 阅读全文
posted @ 2020-07-12 21:15 ZyLin-ux 阅读(244) 评论(0) 推荐(0)
摘要:感想:在力扣练题,真的可以让你思维变得严谨,提交时再一次因为数据溢出翻车。。。 方法:首先使用的二分法,但是提交时系统的输入为2147395599,取中间值在平方时直接溢出报错。 经题解提醒,相当了迭代法,具体过程如下: 1 #include <iostream> 2 3 using namespa 阅读全文
posted @ 2020-07-11 20:40 ZyLin-ux 阅读(382) 评论(0) 推荐(0)
摘要:前言:这个还是要找规律,不能先转为十进制,相加后再转换为二进制,因为如果输入的二进制足够长,转换为十进制以后会溢出 因为我就是这么做的,提交时直接runtime error! 思路:设定一个变量flag作为进位标志位,找二进制相加的规律,注意字符与数字之间的来回转换。代码有注释 两个循环,第一个循环 阅读全文
posted @ 2020-07-10 21:33 ZyLin-ux 阅读(371) 评论(0) 推荐(0)
摘要:好吧,我魔怔了, 线的下半部分是用来给我看的 1 class Solution { 2 public: 3 vector<int> plusOne(vector<int>& digits) 4 { 5 //第三种思路 6 vector<int> result; 7 int val = digits. 阅读全文
posted @ 2020-07-09 21:40 ZyLin-ux 阅读(280) 评论(0) 推荐(0)
摘要:前言:这是一条没有截图的随笔。。。 1.建立rgbdslam_ws空间 $ mkdir -p ~/rgbdslam_ws/src $ cd ~/rgbdslam_ws/src $ cd rgbdslam_ws $ catkin_make 将工作空间下的 devle/setup.bash 写入.bas 阅读全文
posted @ 2020-07-09 19:43 ZyLin-ux 阅读(418) 评论(0) 推荐(0)
摘要:思路:需要两个变量存储单词,vac为先锋,用于不断索取新单词;pre_vac为后备军,用于存储上一个单词,避免vac先锋索不到单词 具体看代码,已注释 1 #include <iostream> 2 3 using namespace std; 4 5 class Solution { 6 publ 阅读全文
posted @ 2020-07-09 09:23 ZyLin-ux 阅读(169) 评论(0) 推荐(0)
摘要:刚看到这个题,想了半天没有思路,看到题解的贪心算法,顿时恍然大悟。 直接放代码吧 如果当前和为负,并且下个元素比当前和大,则放弃前面的元素,重新将下个元素置为当前和 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 阅读全文
posted @ 2020-07-08 20:37 ZyLin-ux 阅读(199) 评论(0) 推荐(0)
摘要:虽然解答时间比较长,但是还是有种满满的成就感。久违的感觉O(∩_∩)O~ 很容易想到递归算法,但是放到代码上还是不太会,有会的同学欢迎留言,感谢感谢 我的方法用的迭代算法,比如求n=4时,先求n=1时,再把结果返回到n=2时,再把结果返回到n=3时,最后把结果返回n=4时,将n=4的结果返回,就完成 阅读全文
posted @ 2020-07-07 10:32 ZyLin-ux 阅读(344) 评论(0) 推荐(0)
摘要:这个比较简单,不写注释了(逐个比较数组元素与target值大小,若小于,则下一个,直到不小于,返回此时的索引值即可,下一个值是大于它还是等于他,target都要插入这里) 注意要跳出循环。 1 #include <iostream> 2 #include <vector> 3 4 using nam 阅读全文
posted @ 2020-07-06 14:19 ZyLin-ux 阅读(148) 评论(0) 推荐(0)
摘要:一、安装ROS ubuntu16.04对应的ROS版本为Kinetic,ROS Wiki传送门:http://wiki.ros.org/cn/kinetic/Installation/Ubuntu,有详细过程 二、创建并设置ROS工作空间 创建——打开终端(Ctrl+Alt+T),执行以下命令(ca 阅读全文
posted @ 2020-07-06 11:31 ZyLin-ux 阅读(1080) 评论(0) 推荐(0)
摘要:一、ORB_SLAM2依赖项的安装 1 安装Pangolin,用于可视化和用户接口 1.1安装Pangolin所需的依赖库 sudo apt-get install libglew-dev libpython2.7-dev libboost-dev libboost-thread-dev libbo 阅读全文
posted @ 2020-07-04 20:32 ZyLin-ux 阅读(643) 评论(0) 推荐(0)
摘要:没想到的点:若haystack="mississippi",needle = "issip"。按我的匹配算法(在haystack中检索needle的第一个元素,若没有该元素返回-1,若有则搜索后边的元素是否对应,这是有问题的!!),匹配到haystack中前部分issis,程序就结束了,返回了-1, 阅读全文
posted @ 2020-07-04 14:53 ZyLin-ux 阅读(249) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 class Solution { 7 public: 8 int removeElement(vector<int>& nums, int val) 9 { 阅读全文
posted @ 2020-07-03 11:14 ZyLin-ux 阅读(173) 评论(0) 推荐(0)
摘要:回头看,解决一下以前的问题,发现几天前出现的问题好低级,代码还是要多练才可,以前停留在纸面上,太傻了 算法:双指针,第一个指针 i 指向的位置待修改,第二个指针 j 用于遍历该数组 若相邻元素值相同,第一个指针 i 不动,第二个指针 j 继续右移遍历,直到不再与 i 位置元素相同,此时将 j 位置上 阅读全文
posted @ 2020-07-03 10:11 ZyLin-ux 阅读(181) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 3 using namespace std; 4 5 //目的:创建一个链表,存储学生的信息(姓名和学号) 6 //所以其节点数据为:姓名和学号 7 //用结构体数据类型表示数据 8 typedef struct node 9 { 10 char na 阅读全文
posted @ 2020-07-02 20:37 ZyLin-ux 阅读(211) 评论(0) 推荐(0)
摘要:之前的思路有问题,只考虑到了( ) [ ] { } 、{( [ ] )},两种情况,忽略了 ( ( [ ] ) { } )这种复合情况。 新思路:利用栈数据结构解决该问题。又学到了新东西,嘿嘿 特殊情况:若字符串为空,返回true;若字符串为单数,返回false;若第一个字符为右括号,返回false 阅读全文
posted @ 2020-07-01 11:59 ZyLin-ux 阅读(381) 评论(0) 推荐(0)
摘要:更新啦,力扣编译可以通过了,最长公共部分待考虑 算法:若容器中没有元素,直接返回空 令第一个字符串为初始公共前缀,使用此公共前缀与下一个字符串比较得到新的公共前缀,新公共前缀与再下一个字符串比较…直到和最后一个字符串比较,此时得到的公共前缀就是这些字符串的公共前缀 1 #include <iostr 阅读全文
posted @ 2020-07-01 10:39 ZyLin-ux 阅读(234) 评论(0) 推荐(0)