两个子字符串中所共同拥有的长度最大的子序列是多长
2015-04-10 20:41
218 查看
一个串的子串是指该串的一个连续的局部。如果不要求连续,则可称为它的子序列。
比如对串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。
特别地,一个串本身,以及空串也是它的子序列。
对两个串而言,可以有许多的共同的子序列,我们关心的是:它们所共同拥有的长度最大的子序列是多长。以下代码实现了这个问题的求解。请填写划线部分缺失的代码。
注意:只填写缺少的代码,不要写任何多余的内容,比如注释或说明文字。
public class Zixulie
{
public static int f(String x, String y)
{
if(x.length()==0) return 0;
if(y.length()==0) return 0;
String x1 = x.substring(1);
String y1 = y.substring(1);
if(x.charAt(0)==y.charAt(0)) return f(x1,y1)+1;
return __________________________;
}
public static void main(String[] args)
{
System.out.println(f("ac","abcd")); //2
System.out.println(f("acebbcde1133","xya33bc11de")); //5
}
}
答案是:
return f(x,y1)>f(x1,y)?f(x,y1):f(x1,y)
比如对串: "abcdefg" 而言,"ab","abd","bdef" 等都是它的子序列。
特别地,一个串本身,以及空串也是它的子序列。
对两个串而言,可以有许多的共同的子序列,我们关心的是:它们所共同拥有的长度最大的子序列是多长。以下代码实现了这个问题的求解。请填写划线部分缺失的代码。
注意:只填写缺少的代码,不要写任何多余的内容,比如注释或说明文字。
public class Zixulie
{
public static int f(String x, String y)
{
if(x.length()==0) return 0;
if(y.length()==0) return 0;
String x1 = x.substring(1);
String y1 = y.substring(1);
if(x.charAt(0)==y.charAt(0)) return f(x1,y1)+1;
return __________________________;
}
public static void main(String[] args)
{
System.out.println(f("ac","abcd")); //2
System.out.println(f("acebbcde1133","xya33bc11de")); //5
}
}
答案是:
return f(x,y1)>f(x1,y)?f(x,y1):f(x1,y)
相关文章推荐
- c语言初学--计算字符串中数字的最大长度并提取 以及输入两个子串 提取分别以这为开头和结尾的字符串
- 获取最大长度存在巅倒字符串的子串
- 从字符串S中找出不包含重复字符的最大连续子字符串长度
- 经典算法题--求对策字符串的最大长度
- 程序员面试题精选100题(46)-对称子字符串的最大长度
- 经典算法题--求对策字符串的最大长度(第二版)
- 基于STL的字符串最大长度匹配算法
- Java字符串的最大长度
- 算法题36 对称子字符串的最大长度
- 对称子字符串的最大长度
- 对称子字符串的最大长度
- Form中的Get方法可传递的字符串的最大长度是多少?
- Java整型数组的最大长度到底有多长?
- 程序员面试100题之四十六,对称子字符串的最大长度
- 读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。
- sqlldr默认字符串最大长度 导致入库不正常
- Java字符串的最大长度
- tyvj 1208 最长不下降子序列2 求序列b1,b2,b3,…,bm中所有长度(n)最大上升子序列的个数
- 经典算法题--求对策字符串的最大长度
- 求对称子字符串的最大长度