09 2014 档案

摘要:转载来源于http://blog.csdn.net/hackbuteer1/article/details/7968623问题描述给定一个字符串,求出其最长重复子串例如:abcdabcd最长重复子串是 abcd,最长重复子串可以重叠例如:abcdabcda,这时最长重复子串是 abcda,中间的 a... 阅读全文
posted @ 2014-09-07 21:50 无缰之马 阅读(291) 评论(0) 推荐(0) 编辑
摘要:2、给定一个query和一个text,均由小写字母组成,要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如,query为“acbac”,text为”acaccbabb”,那么text中的”cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3... 阅读全文
posted @ 2014-09-07 15:37 无缰之马 阅读(620) 评论(1) 推荐(0) 编辑
摘要:题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串“I am a student.” ,则输出"student. a am I".其实采用栈或递归就ok了#include #include using namespace st... 阅读全文
posted @ 2014-09-06 20:50 无缰之马 阅读(175) 评论(0) 推荐(0) 编辑
摘要:输入一个正数是s,打印出所有和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6==7+8=15,所有结果打印出3个序列1-5,4-6,7-8.代码如下:void printsequence(int start,int end){ for (int i=start... 阅读全文
posted @ 2014-09-06 20:36 无缰之马 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。用归并排序算法,归并的时候,从后向前归并。#include using namespace std;int getreversenum(int *p1,int *p2,i... 阅读全文
posted @ 2014-09-06 19:41 无缰之马 阅读(141) 评论(0) 推荐(0) 编辑
摘要://排列函数void arrangementofstr(char *str,int beg)//str指向待排列的数组,beg为数组的索引位置{ if (!str) { return ; } if (str[beg]=='\0') { cout<<str<<" "; return; } for... 阅读全文
posted @ 2014-09-06 16:19 无缰之马 阅读(247) 评论(0) 推荐(0) 编辑
摘要:编程之美3.8题,距离定为,树中两个节点之间的边数。书中的方法并不好,将左右子树的距离定义在节点中,一般的节点是已经定义好的,并无此项。经分析,理解编写代码如下:代码如下:struct node{ int data; node *pleft; node *pright;};struct RESULT... 阅读全文
posted @ 2014-09-06 16:03 无缰之马 阅读(143) 评论(0) 推荐(0) 编辑
摘要:题目:输入一个整数数组,判断该数组是否是二叉搜索树的后序遍历,若是返回TRUE;否则返回false,假设输入的数组数字各不相同。如输入数组{5,7,6,9,11,10,8} ,返回ture;bool isafterorder(int *p,int len){ if (!p||lenroot) { ... 阅读全文
posted @ 2014-09-05 15:44 无缰之马 阅读(223) 评论(0) 推荐(0) 编辑