动态规划法——最长公共子序列问题

动态规划法——最长公共子序列问题_第1张图片

 

 

 

       这个题当初始终看不下去的原因就是当初误解了什么叫最长公共子序列,还一度以为这个题有问题,其实如果明白了什么叫最长公共子序列,也就解决了一半的问题。

 

 

 

什么是最长公共子序列?

 

     什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列。

 

 

   注意区别:

 

                 最长公共子串和最长公共子序列

  

      最长公共子串(Longest Common Substirng)和最长公共子序列(Longest Common Subsequence,LCS)的区别为:子串是串的一个连续的部分,子序列则是从不改变序列的顺序,而从序列中去掉任意的元素而获得新的序列;也就是说,子串中字符的位置必须是连续的,子序列则可以不必连续。

你可能感兴趣的:(软件设计师基础知识,算法,算法细谈)