算法
文章平均质量分 68
QuitePig
这个作者很懒,什么都没留下…
展开
-
求两个字符串最长公共子串LCS(其它)
LCS(Longest Common Subsequence) 就是求两个字符串最长公共子串的问题。比如: String str1 = new String("adbccadebbca"); String str2 = new String("edabccadece");str1与str2的公共子串就是bccade. 解法就是用一个矩阵来记录两个字符串中所有位置的两个转载 2012-09-02 10:54:20 · 942 阅读 · 0 评论 -
KMP算法的前缀next数组最通俗的解释,如果看不懂我也没辙了
我们在一个母字符串中查找一个子字符串有很多方法。KMP是一种最常见的改进算法,它可以在匹配过程中失配的情况下,有效地多往后面跳几个字符,加快匹配速度。当然我们可以看到这个算法针对的是子串有对称属性,如果有对称属性,那么就需要向前查找是否有可以再次匹配的内容。 在KMP算法中有个数组,叫做前缀数组,也有的叫next数组,每一个子串有一个固定的next数组,它记录着字符串匹配过程中失配情况转载 2012-09-02 10:09:16 · 3434 阅读 · 3 评论 -
俄罗斯方块能永无止境的玩下去吗?(其他)
大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家,或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下转载 2012-09-20 22:12:17 · 758 阅读 · 0 评论 -
八皇后问题(回溯法)
class NQueen{private: int *x; int n; int sum;public: NQueen(int nQueen); bool Place (int i,int j); void BackTrack(int i); void Display(); ~NQueen();};原创 2012-09-18 14:01:01 · 913 阅读 · 0 评论 -
n个盘子放m个苹果(动态规划)
通过分类讨论,将规模较大的问题转换成规模较小的相同问题,学会”降维“,将索引值不断降小,就可以递归求解设f(m,n)为把m个苹果放到n个盘子中的方法数,m>=0,n>=0.若m和n中任何一个等于0,那么f(m,n) = 1,注意不是等于0,因为相当于就那么一种结果,就是不往盘子里面放(没有苹果),或者,连盘子都没有。若n=1,显然对于任意的m>=0 有f(m,1) = 1若m=原创 2012-10-08 17:52:05 · 5614 阅读 · 0 评论 -
简单0-1背包问题(算法类别:动态规划)
0-1背包问题:给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为c。问:应该如何选择装入背包的物品,使得装入背包中物品的总价值最大。void knapsack(int arrW[],int arrV[],int f[11][16],int n,int w){ for(int i = 0;i <w;i++) { f[0][i] = 0; } for(i原创 2012-09-16 17:04:29 · 7461 阅读 · 0 评论 -
华为一道上机题(算法类别:其它)
实现一个函数,函数功能如下:输入一个无序正整数数组,输出一个有序数组,并且如果数组中有连续的数字如1,2,3,4,7,8,12,15。则对于连续的数字只输出其第一个和最后一个:1,4,7,8,12,15.完成函数 void ChangArr(int *pIn,int inLength,int *pOut,int outLength)void QuickSort(int *arr,int原创 2012-09-16 17:15:41 · 651 阅读 · 0 评论 -
求数组中最长递增子序列
最长递增子序列问题是一个很基本、较常见的小问题,但这个问题的求解方法却并不那么显而易见,需要较深入的思考和较好的算法素养才能得出良好的算法。由于这个问题能运用学过的基本的算法分析和设计的方法与思想,能够锻炼设计较复杂算法的思维,我对这个问题进行了较深入的分析思考,得出了几种复杂度不同算法,并给出了分析和证明。一, 最长递增子序列问题的描述设L=a1,a2,…,an>是n个不同的实数的序转载 2012-10-04 14:20:00 · 967 阅读 · 0 评论 -
x&(x-1)
x&(x-1)能够计算x中有多少个1。原创 2012-08-30 14:58:45 · 506 阅读 · 0 评论