zoukankan      html  css  js  c++  java
  • SSL 1463——公共子串

    Description

    设有A、B两个字符串,找出A、B共同子串,每个字符串无相同字符,可以不连续,但顺序不能颠倒。

    Input

    第一行字符串A
    第二行字符串B

    Output

    最长公共子串的长度.

    Sample Input

    abcfbc
    abfcab
    Sample Output

    4


    两重循环
    一个枚举x的长度
    一个枚举y的长度
    如果x[i]=y[j],则f[i,j]:=f[i-1,j-1]。
    如果不是则,f[i,j]:=max(f[i,j-1],f[i-1,j]);


    代码如下;

    var
      f:array [0..110,0..110] of longint;
      i,j:longint;
      x,y:string;
    begin
      readln(x);
      readln(y);
      fillchar(f,sizeof(f),0);
      for i:=1 to length(x) do
        for j:=1 to length(y) do
          if x[i]=y[j] then f[i,j]:=f[i-1,j-1]+1
                       else if f[i-1,j]>f[i,j-1] then f[i,j]:=f[i-1,j]
                                                 else f[i,j]:=f[i,j-1];
      write(f[i,j]);
    end.
  • 相关阅读:
    第30周日
    第30周六
    第30周五
    第30周四
    第30周三
    第30周二
    第30周一
    第29周日
    软件架构学习小结
    数据挖掘十大经典算法
  • 原文地址:https://www.cnblogs.com/Comfortable/p/8412389.html
Copyright © 2011-2022 走看看