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

简介: 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.     }  
相关文章
|
8月前
|
存储 索引
|
8月前
|
存储
【题型总结】寻找满足字符出现奇数次/偶数次的子串个数或者子串最长长度
【题型总结】寻找满足字符出现奇数次/偶数次的子串个数或者子串最长长度
128 0
|
8月前
|
存储
【字符串】最长不含重复字符的子字符串
【字符串】最长不含重复字符的子字符串
|
8月前
|
算法 测试技术 C#
【线段树】2213. 由单个字符重复的最长子字符串
【线段树】2213. 由单个字符重复的最长子字符串
|
8月前
|
索引
leetcode-1624:两个相同字符之间的最长子字符串
leetcode-1624:两个相同字符之间的最长子字符串
38 0
剑指offer 49. 最长不含重复字符的子字符串
剑指offer 49. 最长不含重复字符的子字符串
75 0
|
人工智能
最长连续不重复子串
最长连续不重复子串
137 0
最长连续不重复子串
AcWing 771. 字符串中最长的连续出现的字符
AcWing 771. 字符串中最长的连续出现的字符
98 0
AcWing 771. 字符串中最长的连续出现的字符