自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 TX1上安装mavros时,出现UAS:GeographicLib exception: File not readable...错误

把TX1搭载到了X8无人机上,并把TX1和Pixhawk相连。首先需要一个驱动,这个在TK1上安装cp210x驱动是同一个道理。1、安装cp210x驱动可以参考http://blog.csdn.net/abc869788668/article/details/782965092、安装mavros可以参考http://www.ncnynl.com/archives/201709/2077

2017-10-24 15:11:25 5345 1

原创 阿里巴巴2018年校招研发C++笔试

题目:给定一个字符串S和有效单词的字典D,请确定可以插入到S中的最小空格数,使得最终的字符串完全由D中的有效单词组成,并输出解。如果没有解则应该输出n/a例如输入S = "ilikealibaba"D = ["i", "like", "ali", "liba", "baba", "alibaba"]Example Output:输出"i like aliba

2017-08-26 09:32:35 2679

原创 【整理】I/O复用模型中的 select、poll、epoll

1. select、poll、epoll简介  epoll跟select都能提供多路I/O复用的解决方案。在现在的Linux内核里有都能够支持,其中epoll是Linux所特有,而select则应该是POSIX所规定,一般操作系统均有实现select:  select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1、 单个进程可监视的

2017-08-09 17:06:48 819

转载 Linux下的五种I/O模型

五种I/O模型:1)阻塞I/O(blocking I/O)2)非阻塞I/O (nonblocking I/O)3) I/O复用(select 和poll) (I/O multiplexing)4)信号驱动I/O (signal driven I/O (SIGIO))5)异步I/O (asynchronous I/O (the POSIX aio_functions)

2017-08-09 16:42:35 1000

转载 socket阻塞与非阻塞,同步与异步

1. 概念理解     在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回 这个期间客户端

2017-08-09 16:23:21 392

原创 完整的C++ 静态单例代码(带互斥量Mutex)

静态单例多线程编程 互斥量

2017-08-03 16:36:20 5717 4

原创 带指针成员类、析构函数出错、复制/赋值构造函数的注意事项

今天下午看面经,有个前辈说 面试被问到了 朋友圈-并查集,然后我发现自己以前没有看并查集,然后就去《王道》上看了看小米的那道朋友圈的面试题,也在网上看了一些大牛的关于并查集的博客。花了一个多小时大概了解了并查集,然后就编写朋友圈代码,代码编号了,然后发现有人把 这个写成了一个类,并且自己好长时间没有编写类这块的代码了,所以 打算花一点时间写一下。结果......悲剧了......各

2017-08-02 21:27:28 639

原创 小米:朋友圈,并查集

题目:假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写出程序求出这n个人里一共有多少朋友圈。例如:n=5,m=3,r={{1,2},{2,3},{4,5}},表示有5个人,1和2是好友,2和3是好友,4和5是好友。则1,2,3属于一个朋友圈,4,5属于另一个朋友圈,结果为两个朋友圈。知识点:并查集。代

2017-08-02 17:54:41 1108

原创 LeetCode练习-动态规划算法-word-break

题目描述Given a string s and a dictionary of words dict, determine ifs can be segmented into a space-separated sequence of one or more dictionary words.For example, givens ="leetcode",dict =

2017-07-31 21:02:29 603

转载 STL内存管理器的分配策略

STL提供了很多泛型容器,如vector,list和map。程序员在使用这些容器时只需关心何时往容器内塞对象,而不用关心如何管理内存,需要用多少内存,这些STL容器极大地方便了C++程序的编写。例如可以通过以下语句创建一个vector,它实际上是一个按需增长的动态数组,其每个元素的类型为int整型:stl::vector array;拥有这样一个动态数组后,用户只需要调用push_back

2017-07-19 09:09:43 376

转载 C++ STL-deque基本原理

Deque 简介    deque是“double—ended queue”的缩写,和vector一样都是STL的容器,deque 是双端数组,而 vector 是单端的。    deque 在接口上和 vector 非常相似,在许多操作的地方可以直接替换。    deque 可以随机存取元素(支持索引值直接存取,用[]操作符或at()方法,这个等下会详讲)。   

2017-07-18 20:30:54 754

转载 C++ STL-Vector基本原理

vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子,可以,一切琐细都得由客户端自己来:首先配置一块新空间,然后将元素从旧址一一搬往新址,再把原来的空间释还给系统。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,vector的运用对于内存的合理利用

2017-07-18 20:13:08 426

原创 LeetCode练习-数组-palindrome-number

题目描述Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints:Could negative integers be palindromes? (ie, -1)If you are thinking of conve

2017-06-29 15:07:16 279

原创 LeetCode练习-字符串-longest-substring-without-repeating-characters

LeetCode练习-字符串-longest-substring-without-repeating-characters

2017-06-29 10:54:33 224

转载 分段和分页内存管理

两者描述        打个比方,比如说你去听课,带了一个纸质笔记本做笔记。笔记本有100张纸,课程有语文、数学、英语三门,对于这个笔记本的使用,为了便于以后复习方便,你可以有两种选择。         第一种是,你从本子的第一张纸开始用,并且事先在本子上做划分:第2张到第30张纸记语文笔记,第31到60张纸记数学笔记,第61到100张纸记英语笔记,最后在第一张纸做个列表,记录着三门笔记各

2017-06-22 16:15:52 1169

原创 LeetCode练习-字符串-length-of-last-word

题目描述Given a string s consists of upper/lower-case alphabets and empty space characters' ', return the length of last word in the string.If the last word does not exist, return 0.Note: A word i

2017-05-31 21:53:46 257

原创 LeetCode练习-字符串-anagrams

题目描述Given an array of strings, return all groups of strings that are anagrams.Note: All inputs will be in lower-case.anagrams的例子:“eat”、“ate”、“tae”;“abc”、“cab”、“bac”;特例:“”、“”。思路:用关联容器ma

2017-05-28 22:15:47 317

原创 LeetCode练习-字符串

一、palindrome-partitioning题目描述Given a string s, partition s such that every substring of the partition is a palindrome.Return all possible palindrome partitioning of s.For example, given s ="aa

2017-05-25 11:25:21 309

转载 C++ string类的使用

要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using  std::string;using  std::wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,以下只用st

2017-05-24 17:43:57 320

原创 LeetCode练习-动态规划算法(二)

八、interleaving-string题目描述Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.For example,Given:s1 ="aabcc",s2 ="dbbca",When s3 ="aadbbcbcac", return true.W

2017-05-15 21:19:08 335

原创 排序算法整理(C++):插入排序、交换排序、选择排序、归并排序

结合《王道》,整理了常用的排序算法,包括直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、二路归并排序。  各排序算法的性能平均表:代码如下:#include #define N 10using namespace std;void InsertSort(int arr[]);//直接插入排序,时间复杂度O(n2),空间复杂度O(1)void Sh

2017-05-08 15:43:05 803

转载 C++ 静态单例

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。       单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做

2017-05-07 10:41:19 2030

转载 TLD目标跟踪算法学习(三)代码理解

从main()函数切入,分析整个TLD运行过程如下:8个阶段(这里只是分析工作过程,全部注释的代码见博客的更新)1、分析程序运行的命令行参数;./run_tld -p ../parameters.yml -s ../datasets/06_car/car.mpg -b ../datasets/06_car/init.txt –r2、读入初始化参数(程序中变量)的文件parame

2017-04-28 16:16:25 2709

转载 双目测距原理

双目测距基本原理:如图,P是待测物体上的某一点,OR与OT分别是两个相机的光心,点P在两个相机感光器上的成像点分别为P和P’(相机的成像平面经过旋转后放在了镜头前方),f为相机焦距,B为两相机中心距,Z为我们想求得的深度信息,设点P到点P’的距离为dis,则:        根据相似三角形原理:        可得:        公式中,焦距f和摄像头中心距B可通

2017-04-28 11:27:05 26320 1

转载 TLD目标跟踪算法学习(二)

转自:http://johnhany.net/2014/05/tld-the-theory/  正如名字所示,TLD算法主要由三个模块构成:追踪器(tracker),检测器(detector)和机器学习(learning)。  对于视频追踪来说,常用的方法有两种,一是使用追踪器根据物体在上一帧的位置预测它在下一帧的位置,但这样会积累误差,而且一旦物体在图像中消失,追踪器就会永久失效,即使物

2017-04-25 15:05:00 21136 1

转载 TLD目标跟踪算法学习(一)

转自:http://security.asmag.com.cn/tech/201203/50168.html    TLD跟踪系统最大的特点就在于能对锁定的目标进行不断的学习,以获取目标最新的外观特征,从而及时完善跟踪,以达到最佳的状态。也就是说,开始时只提供一帧静止的目标图像,但随着目标的不断运动,系统能持续不断地进行探测,获知目标在角度、距离、景深等方面的改变,并实时识别,经过一段时间

2017-04-25 11:38:27 3806

原创 计算机网络基础---常用知识

一、计算机网络模型1、OSI七层参考模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。2、数据链路层逻辑链路控制子层(LLC)、媒体访问控制子层(MAC);负责分配MAC地址(48位)。3、网络层负责对数据包进行路由选择和存储转发;协议:IP、IPX、ICMP、IGMP、ARP、PARP、OSPF;数据单位:分组或数据包。4、传输层第一个

2017-04-22 11:40:44 454

原创 2017今日头条实习测试

题目一、两数组找相同的元素-array时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;其他语言 589824KB题目描述:给两个整数(int)数组,输出相同的元素。输入给定两个整型数组[a1, a2, ...., am],[b1, b2, ..., bn]输入格式如下,第一行给定第一个数组的大小m,接下来的m行

2017-04-20 16:52:55 1162

原创 C++ STL基本容器的使用

转自:http://blog.csdn.net/conanswp/article/details/23297441C++中有两种类型的容器:顺序容器和关联容器。顺序容器主要有vector、list、deque等。其中vector表示一段连续的内存,基于数组实现,list表示非连续的内存,基于链表实现,deque与vector类似,但是对首元素提供插入和删除的双向支持。关联容器主要有map和

2017-04-18 17:24:41 337

原创 头条校招(今日头条2017秋招真题)

题目描述头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队。每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来。在选题之前,我们对题目进行了盲审,并定出了每道题的难度系数。一场考试包含3道开放性题目,假设他们的难度从小到大分别为a, b, c,我们希望这3道题能满足下列条件:a<= b<= cb - a<= 10c - b<= 10

2017-04-18 15:54:10 3858

原创 数据结构学习-(一)二叉树

二叉树基本代码:BinTreeClass.h文件#includeusing namespace std;class Node{ friend class BinTree;public: Node():lchild(0), rchild(0){} Node(int val, Node *lptr=0, Node *rptr=0) { data = val; lchi

2017-04-15 22:42:39 366

原创 好未来测试题

题目一:[编程题] 字符串中找出连续最长的数字串读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。输入例子:abcd12345ed125ss123456789输出例子:123456789#include#include

2017-04-13 22:13:03 1779

原创 算法学习-(三)贪婪算法

贪婪算法例1:部分背包问题题目描述给定一个最大容量为m的背包和n种问题,有食盐、白糖、大米等。已知第i种食品最多有wi公斤,其价值为vi元/公斤,编程确定一个装货方案,使得装入背包中的所有食品的总价值最大。输入输出格式输入格式:第一行,两个整数m,n,表示背包容量和食品种类。接下去n行,为每种食品的价值和数量输出格式:价值:%d   取:%d输入输出样例

2017-04-13 11:34:01 454

原创 LeetCode练习-动态规划算法(一)

一、Maximum Subarray(最大连续子序列和)二、Candy三、triangle四、climbing-stairs五、minimum-path-sum六、unique-paths七、unique-paths-ii

2017-04-13 08:42:39 646

原创 CMake学习(七)

整理自《CMake实践》六,如何使用外部共享库和头文件上一节我们已经完成了libhello动态库的构建以及安装,本节我们的任务很简单:编写一个程序使用我们上一节构建的共享库。1,准备工作:请在/backup/cmake目录建立t4目录,本节所有资源将存储在t4目录。2,重复以前的步骤,建立src目录,编写源文件main.c,内容如下:#include int main

2017-04-12 17:53:02 369

原创 算法学习-(二)动态规划算法

动态规划算法-----------------------------------------------------------------------------------------------------------------------------------------例1、#includeusing namespace std;/**例

2017-04-12 09:26:24 360

原创 华为训练题:蛇形矩阵

题目说明蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211接口说明原型  void GetResult(int Num, char * pResult);输入参数:        int Num:输入的正整数N输出参数:        int

2017-04-11 14:23:38 764

原创 LeetCode练习-分治法

一、Pow(x,n)描述:Implement pow(x, n).二、Sqrt(x)描述:Implement int sqrt(int x).Compute and return the square root of x.三、permutations:题目描述Given a collection of numbers, return all possible permutations.四、permutations-ii:题目描述Given a collection of numbers that mi

2017-04-10 11:35:58 755

原创 CMake学习(六)

五,静态库与动态库构建本节的任务:1,建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,HelloFunc向终端输出Hello World字符串。2,安装头文件与共享库。一,准备工作:在/backup/cmake目录建立t3目录,用于存放本节涉及到的工程二,建立共享库cd /backup/cmake/t3mkdir lib在t3目录下建立CMa

2017-04-09 17:40:18 310

原创 CMake学习(五)

四,更好一点的Hello World从本小节开始,后面所有的构建我们都将采用out-of-source外部构建,约定的构建目录是工程目录下的build自录。修改Helloworld支持安装在本节开头我们定义了本节的任务如下:1,为工程添加一个子目录src,用来存储源代码;2,添加一个子目录doc,用来存储这个工程的文档hello.txt3,在工程目录添加文本文件CO

2017-04-08 23:04:26 303

空空如也

空空如也

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

TA关注的人

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