两个串最长公共子序列的长度:

简介: public class Main {  //求两个串最长公共子序列的长度  //abcdef    abc  abd  bdf      public static int f(String s1,String s2){      if(s1.
  1. public class Main {  
  2. //求两个串最长公共子序列的长度  
  3. //abcdef    abc  abd  bdf  
  4.   
  5.   
  6. public static int f(String s1,String s2){  
  7.     if(s1.length()==0||s2.length()==0){  
  8.     return 0;     
  9.     }  
  10.         /** 
  11.          * 主体部分 
  12.          */  
  13.     if(s1.charAt(0)==s2.charAt(0)){     //如果头相同  
  14.         return f(s1.substring(1),s2.substring(1))+1;    //在交给下级的比较结果中加1   
  15.     }else{  
  16.         return Math.max(f(s1.substring(1),s2),f(s1,s2.substring(1)));   //返回:max的选择执行,谁大执行谁  
  17.         //执行方式(降低规模!!!):谁大切谁,轮流切  
  18.     }  
  19. }     
  20. /** 
  21.  * 主体逻辑: 
  22.  * 1.比较第一个,相同就加1继续执行(过程) 
  23.  * 2.不同就去掉长的头元素,继续比较(变化) 
  24.  * 3.一直到有一方为0,返回0种情况(出口) 
  25.  * @param args 
  26.  */  
  27. public static void main(String[] args) {  
  28. int k=f("fabcdk","xbacd");  
  29. System.out.println(k);            
  30. }  
  31.     }  
相关文章
|
6月前
|
存储 索引
|
6月前
|
存储
【题型总结】寻找满足字符出现奇数次/偶数次的子串个数或者子串最长长度
【题型总结】寻找满足字符出现奇数次/偶数次的子串个数或者子串最长长度
115 0
|
6月前
|
索引
leetcode-1624:两个相同字符之间的最长子字符串
leetcode-1624:两个相同字符之间的最长子字符串
36 0
1265:【例9.9】最长公共子序列 2021-01-15
1265:【例9.9】最长公共子序列 2021-01-15
最长公共子序列(一 | 计算长度版)
最长公共子序列(一 | 计算长度版)
|
算法 BI
最长公共子序列(三 | 存在多个解的情况)
最长公共子序列(三 | 存在多个解的情况)
AcWing 771. 字符串中最长的连续出现的字符
AcWing 771. 字符串中最长的连续出现的字符
93 0
AcWing 771. 字符串中最长的连续出现的字符
|
前端开发 JavaScript 算法
腾讯笔试题 -- 动态规划之两个字符串的最长公共子序列
腾讯笔试题 -- 动态规划之两个字符串的最长公共子序列
214 0
腾讯笔试题 -- 动态规划之两个字符串的最长公共子序列