10 2015 档案
摘要:概述: Trie是个简单但实用的数据结构,是一种树形结构,是一种哈希树的变种,相邻节点间的边代表一个字符,这样树的每条分支代表一则子串,而树的叶节点则代表完整的字符串。和普通树不同的地方是,相同的字符串前缀共享同一条分支。 例如:pool,prize,preview,prepare,produce,progress这些关键词的Tire树 典型应用是用于统计,排序和保存大量的字符串(但不仅限于...
阅读全文
摘要:题目说明: 输入一个数列(包含正负数),求和是最大的连续子序列。例如{5,-3,4,2}的最大子序列就是 {5,-3,4,2}。 程序代码: #include using namespace std; int MaxSumOfSequence(int* pData, int nLength, int& nBegin, int& nEnd) { if (!pData || !nLen...
阅读全文
摘要:题目说明: 找两个字符串的最长公共子序列,这个子序列不要求在原字符串中是连续的,但要求顺序是一致的,比如"abcd"和"aebfc"的最长公共子串是"abc"。 程序代码: #include #include using namespace std; enum DirectionType { TypeUp, TypeLeftUp, TypeLeft }; int...
阅读全文
摘要:题目说明: 找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。比如"bab"和"caba"的最长公共子串是"ba"和"ab"。 程序代码: #include #include #include using namespace std; int GetLCS(const string& strA, const string& strB, vector& result) { ...
阅读全文
摘要:题目说明: 输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。 程序代码: #include using namespace std; int StrToInt(const char* szValue, int nBase = 0, bool* bValid = NULL) { long long nValue = 0; ...
阅读全文
摘要:题目说明: 输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;}; 程序代码: #include #include using namespace std; struct ListNode { int m_nKey; ListNode*...
阅读全文