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

原创 KMP算法解析
KMP是一个经典的字符串匹配算法,同时也是目前效率最高匹配算法之一。当遇到“寻找子串”这类问题时,都可以参考一下KMP的思想,说不定会有意外收获哟。KMP的设计很精妙,但美中不足的是难以理解。所以趁着自己脑袋瓜还比较清楚的时候,赶紧都记录下来。 首先,我们从一个朴素的问题开始引导。就是经典的字符串匹配问题。问题:目前有2个字符串,字串A 和字串B。判断字串B是否是字串A的子串。为了更好...
2018-10-24 01:10:37
972
原创 STL中的二分查找
STL中使用二分查找的来进行搜索的函数有以下3个:- upper_bound- lower_bound- binary_search[STL]upper_bound默认形式:template<class ForwardIterator, class T>ForwardIterator upper_bound(ForwardIterator first, Forw...
2019-02-13 11:29:40
1385
原创 找素数
问题描述:统计小于某个正整数的所有素数(质数)的个数。为了方便叙述,我们将这个数字设为n。 解题思路:素数的定义是一个只能被1或自己整除的正整数,并且不包括0和1。于是,一种朴素的算法思想就出现了:将搜索空间定位了2~n-1,然后遍历搜索空间中的所有元素,并逐一判断该元素是否仅能被1或自己整除。显然这种算法是易于理解但效率极低的。因为在这个过程中,有很多显而易见不是素数的元...
2018-09-09 17:28:19
3437
原创 利用VS2017编译、调试Linux程序
VS2017提供了交叉编译的功能。即可在windows机器上使用VS方便的编辑、调试Linux机器上的程序。大致流程是这样的:1、在windows机器上编辑代码;2、VS通过SSH将代码传送到Linux机器上进行编译、链接;3、调用Linux机器上的GDB调试程序,并将调试过程中的状态同步至windows机器; 下文将Windows环境称为Host端,Linux环境称为De...
2018-07-25 17:13:48
8347
6
原创 N Sum问题总结
最近在刷leetcode,在Array分类中经常遇到“给定一个TargetNumber和一个Array,在Array中找出n个数,这n个数之和等于TargetNumber”的问题。随着n的值增大,题目的难度也会增大。当n取一个具体值时,该题目就会变成其他题目的变种。比如当n = 1时,就变成了简单的一维数组查找问题。本文通过对比n取不同值时的解题思路,抽象出一种通用解法。注:本文聚焦算法本身的...
2018-07-05 18:01:19
2504
原创 VSCODE中各种预定义变量汇总
在vscode中定义了一些变量,在配置任务脚本时,可能会用到。本文以tasks.json脚本为例,介绍各个变量的含义。假设当前workspace的路径为:/home/Coding/Test,workspace文件夹下的结构如下(+表示下一层):/home/Coding/Test+.vscode++tasks.json++launch.json+main.cpp${workspaceFolder} ...
2018-04-26 22:29:11
13645
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人