摘要: 题:给定两个字符串X,Y,求二者最长的公共子串,例如X=[aaaba],Y=[abaa]。二者的最长公共子串为[aba],长度为3。1 基本算法其实对于最长公共子串,还是比较简单易想的,因为子串是连续的,这就方便了很多。最直接的方法就是用X每个子串与Y的每个子串做对比,求出最长的公共子串。2 DP方... 阅读全文
posted @ 2014-07-10 17:36 StevenSuo 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 一个字符串S,去掉零个或者多个元素所剩下的子串称为S的子序列。最长公共子序列就是寻找两个给定序列的子序列,该子序列在两个序列中以相同的顺序出现,但是不必要是连续的。例如序列X=ABCBDAB,Y=BDCABA。序列BCA是X和Y的一个公共子序列,但是不是X和Y的最长公共子序列,子序列BCBA是X和Y... 阅读全文
posted @ 2014-07-10 17:34 StevenSuo 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 知识点:1. sort 使用时得注明:using namespace std; 或直接打 std::sort() 还得加上 #include 2. qort是qsort的升级版,如果能用sort尽量用sort,使用也比较简单,不像qsort还得自己去写 cmp 函数,只要注明 使用的库函数就可以使... 阅读全文
posted @ 2014-07-10 17:28 StevenSuo 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 题:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列1,-1,2,-3,4,-5,6,-7中,最长递增子序列长度为4,可以是1,2,4,6,也可以是-1,2,4,6。从后向前分析,很容易想到,第i个元素之前的最长递增子序列的长度要么是1(单独成一个序列),要么就是第i-1个元素之前的最长... 阅读全文
posted @ 2014-07-10 17:23 StevenSuo 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 预备知识: 1. sort 使用时得注明:using namespace std; 或直接打 std::sort() 还得加上 #include 2. qort是qsort的升级版,如果能用sort尽量用sort,使用也比较简单,不像qsort还得自己去写 cmp 函数, 只要注明 ... 阅读全文
posted @ 2014-07-10 17:08 StevenSuo 阅读(633) 评论(0) 推荐(0) 编辑
摘要: 题:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列1,-1,2,-3,4,-5,6,-7中,最长递增子序列长度为4,可以是1,2,4,6,也可以是-1,2,4,6。 从后向前分析,很容易想到,第i个元素之前的最长递增子序列的长度要么是1(单独成一个序列), 要么就是第i-1个元素之前的... 阅读全文
posted @ 2014-07-10 17:06 StevenSuo 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 对于最长不重复子串,某个当前的字符,如果它与前面的最长不重复子串中的字符没有重复, 那么就可以以它为结尾构成新的最长子串;如果有重复,且重复位置在上一个最长子串起始位置之后, 那么就与该起始位置之后的稍短的子串构成新的子串或者单独成一个新子串。 举个例子:例如字符串“abcdeab”,第二个字符a... 阅读全文
posted @ 2014-07-10 17:03 StevenSuo 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 求一个数组的相加和最大的连续子数组 思路: 一直累加,只要大于0,就说明当前的“和”可以继续增大, 如果小于0了,说明“之前的最大和”已经不可能继续增大了,就从新开始, result=max{result+arr[i],arr[i]};显然,若result>0,则可以继续相加,否则,就重新开始。#i... 阅读全文
posted @ 2014-07-10 17:02 StevenSuo 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 已知 string sentence="We were her pride of 10 she named us: Benjamin, Phoenix, the Pordigal and perspicacious pacific Suzanne.";编写程序,计算sentence中有多少个单次,并... 阅读全文
posted @ 2014-07-10 17:00 StevenSuo 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 求一个字符串中连续出现次数最多的子串面试宝典P237 源 基本算法描述: 例如字符串“abababc”,最多连续出现的为ab,连续出现三次。 要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab。 求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的... 阅读全文
posted @ 2014-07-10 16:58 StevenSuo 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1. itoaitoa是广泛应用的非标准c语言扩展函数,头文件为 #icnludechar* itoa(int value,char* string,int radix);#include#includeusing namespace std;int main(){ int i=15; char s... 阅读全文
posted @ 2014-07-10 16:56 StevenSuo 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 在论坛上看到过有人说字符串常量存储在只读区域,不能写只能读;而字符数组是栈上,可读可写。#include#includeint main(){ /*字符数组存储于动态内存中,可以进行赋值操作*/ char message[]={'h','e','l','l','\0'}; message[2]='a... 阅读全文
posted @ 2014-07-10 16:50 StevenSuo 阅读(1248) 评论(0) 推荐(0) 编辑
摘要: #include#includevoid getNext(int *Next,char* src){ int i,j; Next[0]=-1; i=0; j=-1; int N=strlen(src); while(i<N-1){ if(j==-1||src[i]==src[j]){ ++i;... 阅读全文
posted @ 2014-07-10 16:45 StevenSuo 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 有两种方法可以读C++字符串:使用提取操作符(>>)和getline函数。(1)字符串提取操作符: 首先,它跳过前导空白字符,然后提取所有邻近的非空白字符。当发现空白字符时, 它就停下来。终止空白字符被留在输入流中. 提取操作符可以用来从键盘(cin流)或者使用开放式文件流从文件读数据。例如,要把一... 阅读全文
posted @ 2014-07-10 16:43 StevenSuo 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 问题:读取一个文件(含标点),统计长度小于4的单词个数,并按长度顺序输出,重复单词只输出一次。 考查:去除字符串标点 + 泛型算法使用 思路:1.获取每个单词,存入到vector中去——考查:去除字符串标点 2.剔除重复单词,——考查:泛型算法使用一、去除标点符号 1.读取一个含有标点符号的文... 阅读全文
posted @ 2014-07-10 16:40 StevenSuo 阅读(1852) 评论(0) 推荐(0) 编辑
摘要: http://www.ahathinking.com/archives/tag/%E6%9C%80%E9%95%BF%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97求一个数组的相加和最大的连续子数组思路:一直累加,只要大于0,就说明当前的“和”可以继续增大,... 阅读全文
posted @ 2014-07-10 15:46 StevenSuo 阅读(196) 评论(0) 推荐(0) 编辑
摘要: http://www.ahathinking.com/archives/tag/%E6%9C%80%E9%95%BF%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97对于最长不重复子串,某个当前的字符,如果它与前面的最长不重复子串中的字符没有重复,那么就可以以... 阅读全文
posted @ 2014-07-10 15:46 StevenSuo 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 求一个字符串中连续出现次数最多的子串 http://blog.csdn.net/ysu108/article/details/7795479讲解 http://blog.csdn.net/imcdragon/article/details/6838565代码 面试宝典P237 源基本算法描述:例如... 阅读全文
posted @ 2014-07-10 15:39 StevenSuo 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 问题:已知 string sentence="We were her pride of 10 she named us: Benjamin, Phoenix, the Pordigal and perspicacious pacific Suzanne.";要求:计算sentence中有多少个单次,... 阅读全文
posted @ 2014-07-10 15:35 StevenSuo 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1. itoa,非标准的C语言扩展函数,头文件为 #includechar* itoa (int value, char* string, int radix);#include#include#includeusing namespace std;int main(){ char str[10];... 阅读全文
posted @ 2014-07-10 15:13 StevenSuo 阅读(172) 评论(0) 推荐(0) 编辑