求两个串的最大公共子串
2015-08-14 19:45
316 查看
给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如,query为
"acbac",text为"acaccbabb",那么text中的"cba"为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。
int getLongestSubString(char* query, char* text)
{
int imax = INT_MIN;
int m = strlen(query);
int n = strlen(text);
vector<vector<int>> temp(m, vector<int>(n, 0));
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (query[i] == text[j])
{
if (i == 0 || j == 0)
{
temp[i][j] = 1;
}
else
{
temp[i][j] = temp[i - 1][j - 1] + 1;
}
imax = max(imax, temp[i][j]);
}
}
}
return imax;
}
相关文章推荐
- 使用reserve要再次避免不必要的分配
- hdu 3986 Harry Potter and the Final Battle spfa变形
- ListView/gridView代码优化viewHolder精解--converView使用
- Nginx内存管理
- C# axWindowsMediaPlayer制作播放器
- POJ 2367 Genealogical tree(拓扑排序)
- 线程池(二)
- 摄像机标定方法(二)----Faugeras的摄像机标定方法
- poj 2367 Genealogical tree【拓扑排序输出可行解】
- 排版紧凑情况下IOS 浏览器的文字部分选中问题
- C语言-母牛和兔子的问题
- PPT自动载入图片并矩阵分布
- android 中的Uri
- python:元组和小括号的误导
- hdu 1203
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- 求两圆相交面积模板
- 极大似然思想原理
- hdu-5025 Saving Tang Monk (BFS + 状态压缩)
- HDOJ 1285 确定比赛名次(拓扑排序,四种实现方法)