| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1210 人关注过本帖
标题:求助:求最长公共字符子串的长度
只看楼主 加入收藏
银川
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-11
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
求助:求最长公共字符子串的长度
   对于长度为n的任意字符串,它包含的长度为m(m<=n)的连续字符均称为它的“字符子串”。
   从键盘上任意输入两个字符串,编写程序求解出他们的最长公共字符子串,并分别给出该字符子串在两个原始字符串中第一次出现的位置。
搜索更多相关主题的帖子: 字符 长度 
2010-12-12 12:23
wujieru
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:1108
专家分:1939
注 册:2010-10-9
收藏
得分:7 
最近大家是不是对字符串很感兴趣?
2010-12-12 12:50
银川
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-11
收藏
得分:0 
没办法   作业啊
2010-12-12 12:53
a359947
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2010-12-12
收藏
得分:7 
楼上的,这不是作业,是考试题好吧
2010-12-12 13:03
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:7 
这个题属于动态规划的算法题,你在网上可以收索一下答案!本人水平不行,就没有给你写代码。

这是在网上收索到的一个答案,参考一下吧!

# include <stdio.h>
# include<string.h>
# include <stdlib.h>

#define M 100

char* LCS(char left[] , char right[])
{
    int lenLeft = strlen(left) , lenRight = strlen(right) ;
    char *c = malloc(lenRight) , *p ;
    int start , end , len , i , j ;
    end = len = 0;
    for(i = 0 ; i < lenLeft ; i++)
        for(j = lenRight - 1 ; j >= 0 ; j--)
        {
            if(left[i] == right[j])
            {
                if(i == 0 || j == 0)
                    c[j] = 1;
                else
                    c[j] = c[j-1] + 1 ;
            }
            else
                c[j] = 0;
            if(c[j] > len)
            {
                len = c[j] ;
                end = j ;
            }
        }
     start = end - len + 1 ;
     p = (char*)malloc(len + 1) ;
     for(i = start ; i<= end ; i++)
        p[i-start] = right[i] ;
        p[len] = '\0' ;
     return p ;
}

int main()
{
    char str1[M] , str2[M] ;
    printf("请输入字符串1:") ;
    gets(str1) ;
    printf("请输入字符串2:") ;
    gets(str2) ;
    printf("最长子串为:") ;
    printf("%s\n",LCS(str1,str2)) ;
    return 0 ;
}

愿用余生致力编程
2010-12-12 14:21
快速回复:求助:求最长公共字符子串的长度
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017062 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved