- 博客(4)
- 收藏
- 关注
原创 找到带环链表的环形的入口节点
问题:给定一个链表,判断链表中是否有环,并找到环形的入口位置Pos.Leetcode #141:该题为简单版,只需要找是否有环解答思路(两边走)将该问题可拆解为两个问题:1.是否有环,2.找到两尾部重叠链表的第一个重叠结点如图(Fig.1)所示,对于问题一,我们可以使用快慢指针解决,快每次走2步,慢一次走一步,从头部同时出发,若相交(快追上慢,比慢多走一个环长),则有环。之后我们可以在相遇在的F节点处剪开,得到两条尾部相交的链表(H→\to→P→\to→F and F_next_node
2021-04-08 13:36:03
150
原创 在linux上使用g++编译项目的过程记录和踩过的坑
在linux上使用g++编译项目的过程记录和踩过的坑当引用了第三方库时文件组织方式g++编译例子将我们放在include文件夹中的头文件和放在lib中的动态库文件链接进来链接头文件链接库文件运行时动态库的链接当引用了第三方库时一定要源码安装!!!一定要源码安装!!!一定要源码安装 !!! (重要的事情说三遍)当引用了第三方的库(像ffmpeg,opencv等)时,千万不能使用 apt-get install 这种方式直接安装可运行的程序,因为直接安装后,可能(很大概率)没有我们进行开发时所需要的头文件
2021-01-06 21:49:32
865
原创 关于编译
编译过程编译主体文件编译步骤( [^1])(1)编译(2)链接编译主体文件注意:C ++的编译器只会将.cpp的后缀文件作为编译主体会对应生成目标文件.o(或.obj),而.h文件不会生成目标文件,其只是如其后缀名head一般作为文件头加入到.cpp中编译步骤( 1)(1)编译目标:本步骤的最终生成文件就是二进制目标文件.o,注意每一个.cpp都会生成一个对应的文件.o,而且相互间的生成是独立的,链接是下一步干的事。若使用g++,进行对每一个.cpp进行编译,语法:g++ -c fName.cp
2020-07-30 01:30:11
198
原创 函数模板
函数模板相关概念1、函数模板的意义:2、重载函数模板3、显式具体化的模板4、同名函数的调用优先级5、(!划重点)编译器匹配规则6、创建自定义选择相关概念实例化:编译器由函数模板再结合具体调用时的传参(实参),生成对应的函数具体化:定义一个有具体类型的形参的函数模板,具体见(3)重载:即函数名相同但函数特征标(function signature)不同函数特征标:仅指函数形参的个数、类型、顺序的不同,与函数的返回类型没一毛钱关系1、函数模板的意义:对于只有参数类型不同,功能几乎相同的多
2020-07-27 23:53:11
222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人