算法
gdrocky1989
不知路在何方
展开
-
kmp算法实现-算法导论C语言版
#include #include #include using namespace std; int *PrefixFunc(char *query); int KMP(char *test, char *query) { if (test == NULL || query == NULL){ return -1; } int tLen = strlen(test); in原创 2014-08-30 17:22:36 · 1061 阅读 · 0 评论 -
动态规划求不相邻的最大子数组和
问题:给出一个数组,求出其中一个子集,使得子集中每个元素在原数组中两两都不相邻并使子集的和最大。原创 2014-09-01 16:42:04 · 2520 阅读 · 0 评论 -
阿里2015 研发笔试 求最长公共子串
给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。原创 2014-08-30 18:27:51 · 730 阅读 · 0 评论 -
01背包问题
背包问题 01背包: 有N件物品和一个重量为M的背包。(每种物品均只有一件)第i件物品的重量是w[i],价值是p[i]。求解将哪些物品装入背包可使价值总和最大。 完全背包: 有N种物品和一个重量为M的背包,每种物品都有无限件可用。第i种物品的重量是w[i],价值是p[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大。 多重背包: 有N种物品和一个重原创 2014-09-02 21:49:34 · 477 阅读 · 0 评论