通过两个字符串数组,求其中最大相同项(java demo)
2016-10-03 19:44
267 查看
/*
* 通过两个字符串数组,求其中最大相同项
*
* 思路:1.要是其中一个短的字符串包含在长的字符串中,直接输出这个短的即为所求
* 2.短的字符串要不是其最大相同项。就按照从多往少判断,这里面的具体就是从最大项
* 减一,用减一查出来有多少对数组进行向下判断。
*
* */
public class Random {
/**
* @param args
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个字符串:");
String s1=input.next();
System.out.println("请输入第二个字符串:");
String s2=input.next();
String sub = Maxsubstring(s1, s2);
System.out.println("最长的相同的字符串:" + sub);
}
public static String Maxsubstring(String s1, String s2) {
String max = (s1.length() > s2.length()) ? s1 : s2;//找出较大的字符串
String min = max.equals(s1) ? s2 : s1;//找出较小的字符串
for (int i = 0; i < min.length(); i++) {
for (int m = 0, n = min.length() - i; n != min.length() + 1; m++, n++) {
String sub = min.substring(m, n);
if (max.contains(sub)) {
return sub;
}
}
}
return null;
}
}
return null;
}
}
* 通过两个字符串数组,求其中最大相同项
*
* 思路:1.要是其中一个短的字符串包含在长的字符串中,直接输出这个短的即为所求
* 2.短的字符串要不是其最大相同项。就按照从多往少判断,这里面的具体就是从最大项
* 减一,用减一查出来有多少对数组进行向下判断。
*
* */
public class Random {
/**
* @param args
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入第一个字符串:");
String s1=input.next();
System.out.println("请输入第二个字符串:");
String s2=input.next();
String sub = Maxsubstring(s1, s2);
System.out.println("最长的相同的字符串:" + sub);
}
public static String Maxsubstring(String s1, String s2) {
String max = (s1.length() > s2.length()) ? s1 : s2;//找出较大的字符串
String min = max.equals(s1) ? s2 : s1;//找出较小的字符串
for (int i = 0; i < min.length(); i++) {
for (int m = 0, n = min.length() - i; n != min.length() + 1; m++, n++) {
String sub = min.substring(m, n);
if (max.contains(sub)) {
return sub;
}
}
}
return null;
}
}
return null;
}
}
相关文章推荐
- java里如何实现两个等长度的字符串数组有多少个元素相同(从最左边开始,一旦遇到不同元素则跳出计数)
- 黑马程序员_日记25_Java两个字符串的最大相同子串
- java基础-找出两个字符串相同的最大子串
- java/C++取两个字符串的最大相同子串
- Java获取两个字符串中最大相同子串
- 通过两个数组字符串。各选取一个字符串元素。使其长度绝对值最大。求最大绝对值
- java获取两个字符串中最大相同子串。第一个动作:将短的那个串进行长度一次递减的子串打印
- java练习获取两个字符串的最大相同子串
- [Java]取得两个字符串的最大相同子串
- Java获取两个字符串中最大相同子串的方法
- 两个字符串中最大的相同的子串(java编写)
- 黑马程序员—取两个字符串中最大相同子串
- (Relax 后缀数组1.4)POJ 2774 Long Long Message(求两个字符串公共子串的最大长度)
- 获取两个字符串中最大相同子串
- 两个字符串中最大相同子串
- Java String 字符串中的最大相同子串实现
- Java比较两个数组中的元素是否相同的最简单方法
- c语言两个字符串数组的连接 通过地址搞定
- 查找两个字符传中最大的相同字符串