• No understanding(1)


    一个串的子串是指该串的一个连续的局部。如果不要求连续,则可称为它的子序列。
    比如对串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。
    特别地,一个串本身,以及空串也是它的子序列。

    对两个串而言,可以有许多的共同的子序列,我们关心的是:它们所共同拥有的长度最大的子序列是多长。以下代码实现了这个问题的求解。请填写划线部分缺失的代码。

    注意:只填写划线部分缺少的内容,不要填写任何多余的符号或注释、说明等。例如,不要填写已经给出的小括号。

    #include<stdio.h>
    #include<string.h>
    #include<math.h>   
    int max(int a, int b)
    {
        return a>b?a:b;
    }
    
    int f(char* x, char* y)
    {
        if(strlen(x)==0) return 0;
        if(strlen(y)==0) return 0;
        
        if(*x == *y) return f(x+1, y+1) + 1;
        
        return max(f(x+1,y),f(x,y+1) );//括号中的内容 
    }
    
    int main()
    {
        printf("%d
    ", f("ac","abcd")); //2
        printf("%d
    ", f("acebbcde1133","xya33bc11de")); //5
        return 0;
    }
  • 相关阅读:
    万能的everything彻底解决mysql问题
    乱码问题
    机器学习学习规划
    NG机器学习笔记
    书籍与博客
    技术规划
    反置数
    多个接口出现同名函数的处理-转
    接口-imploements-委托
    接口使用中,对象生命周期管理-转
  • 原文地址:https://www.cnblogs.com/2228212230qq/p/7929485.html
Copyright © 2020-2023  润新知