字符串
文章平均质量分 76
小弟季义钦
好东西要大家分享!
展开
-
字符串之间的最短距离
#include using namespace std;//为了方便,将a和b的长度固定下来,这样就不用动态创建数组了#define M 6#define N 3int dp[M][N] = {0};/*** 问题描述: 两个字符串如果可以根据添加,删除,修改一个字符串来变成另一个字符串,则* 说这两个字符串距离为1. 现在给出两个字符串,求出他们之间的距离。原创 2012-11-11 21:49:50 · 1293 阅读 · 0 评论 -
两个字符串的最长公共子串
DP的方式求解:#include using namespace std;#define M 9#define N 11//如果动态传进m和n的话,数组lcs赋值只能通过指针,这样太麻烦int lcs[M][N];/*** 最长公共子串(LCS)* 状态转移方程:* f(i,j) = 0 a[i] != b[j] f(i-1,j-原创 2012-11-04 18:05:13 · 865 阅读 · 0 评论 -
关于字符串的好文章
上交的july的文章: http://blog.csdn.net/v_july_v/article/details/6897097他从 前缀树(Trie树),到后缀树(suffix树),再谈到自动机(automation machine)和KMP。都是解决字符串的经典方法。有兴趣的同学可以仔细研读。=========== 后缀树 与 KMP等算法 =============原创 2012-10-17 14:57:38 · 848 阅读 · 0 评论 -
两个序列的最长公共子序列
DP方式求解:#include using namespace std;/*** 问题描述:两个字符串,求解他们的最长公共子序列,子序列不要求连续* * 分析这个问题,我们可以发现有子结构,可以将X,Y两个字符串的最长公共子串* 的问题转换成更小的子问题。而且这个问题的求解过程有重叠子问题。根据这两个* 性质我们确定尝试用DP来解决。* 首先定义状态,f(m原创 2012-11-11 22:48:45 · 1336 阅读 · 0 评论 -
整数的大数相乘
#include using namespace std;/*** 大数相乘,使用字符串解决*//*** 将字符转换成数字*/int ctoi(char ch){ if(ch '9'){ cout<<"transfer error"<<endl; return -1; } return ch-48;}/*** 将数字原创 2012-11-17 22:45:36 · 872 阅读 · 0 评论 -
电话号码转换与统计(POJ-1002)
submit上去是Runtime Error,还需要解决。但是我自己电脑上运行好几个测试用例是正确的。/*** http://poj.org/problem?id=1002*/#include using namespace std;/*** 字符到数字的转换*/int valueToKey(char ch){ if(ch >= '0' && ch原创 2012-11-28 16:56:15 · 1002 阅读 · 0 评论