A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 自信boy 中级黑马   /  2016-8-20 20:56  /  745 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目描述
对于两个字符串,请设计一个高效算法,求他们的最长公共子序列的长度,这里的最长公共子序列定义为有两个序列U1,U2,U3...Un和V1,V2,V3...Vn,其中Ui&ltUi+1,Vi&ltVi+1。且A[Ui] == B[Vi]。
给定两个字符串AB,同时给定两个串的长度nm,请返回最长公共子序列的长度。保证两串长度均小于等于300。
测试样例:
"1A2C3D4B56",10,"B1D23CA45B6A",12返回:6


1 个回复

倒序浏览
abcdefg11 来自手机 中级黑马 2016-8-20 23:10:32
沙发
m<n思路如下
char a[n],前m赋值为string,后面用asc码表非字符串内的任意某字符填充
char b[n]
for k=0~n{
for i=1~n
   ci= a[i+k]-bi
        for j=1~m
            cj=0则count+1
        temp=count
}
max用来记录最大的temp值


    需要控制数组越界,越界不要了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马