您的位置:首页 > 编程语言 > Java开发

题目标题: 计算两个字符串的最大公共字串的长度,字符不区分大小写

2014-07-14 15:05 337 查看
private static int getMaxSame(String first0,String second0) {

String first = first0.toLowerCase();
String second = second0.toLowerCase();

int fLen = first.length();
int sLen = second.length();
int d = (fLen <= sLen) ? fLen : sLen;
String min = null;
String max = null;
String target = null;
if (fLen <= sLen) {
min = first;
max = second;
} else {
min = second;
max = first;
}
for (int i = d; i >= 1; i--) {
for (int j = 0; j <= min.length() - i; j++) {
target = min.substring(j, j + i);
for (int k = 0; k <= max.length() - i; k++) {
if (max.substring(k,k + i).equals(target)) {
return i;
}
}
}
}
return 0;
}

下面是测试代码,一定要这样输入,两个字符串用空格隔开,然后用split方法读取待处理的两个字符串:

public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
String strFirst = sca.nextLine();
String[] strArray = strFirst.split(" ");
System.out.println(getMaxSame(strArray[0], strArray[1]));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐