java找出最长的子字符串
2017-11-06 10:37
162 查看
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class MaxChildString { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //输入第一个字符串 String str1 =sc.nextLine(); //输入第二个字符串 String str2 =sc.nextLine(); //声明对象调用方法 MaxChildString mcs = new MaxChildString(); mcs.getMaxString(str1,str2); } public String getMaxString(String s1,String s2){ //声明List对象 List<String> list = new ArrayList<>(); //定义max为较长的字符串 String max = (s1.length()>s2.length())?s1:s2; //定义min为较短的字符串 String min = (max.equals(s1))?s2:s1; //定义初始头索引为0,尾索引一次减少 for (int i = 0; i < min.length(); i++) { for (int begin = 0; begin < min.length()-i; begin++) { int end = min.length()-i; if (end>0) { //定义s为min的子字符串,依次与max字符串比较 String s = min.substring(begin, end); if (max.contains(s)) { //若有匹配字符串,添加到list中 list.add(s); } } } } //将list中的字符串根据字符串长度从大到小排序 for (int i = 0; i < list.size(); i++) { for (int j = list.size()-1; j > i; j--) { if(list.get(i).length()<list.get(j).length()){ String temp = list.get(i); list.set(i,list.get(j)); list.set(j,temp); } } } //输出索引为0的字符串(这里没有考虑有多个最长长度子字符串的情况,大家有什么好办法吗) System.out.println(list.get(0)); return null; } }
相关文章推荐
- java 找出所有最长连续重复子串及其个数
- 找出字符串中对称的子字符串的最大长度(最长回文)[No. 14]
- 算法3—找出字符串中对称的子字符串的最大长度(最长回文)
- 找出字符串中对称的子字符串的最大长度(最长回文)
- java实现找出一串单词中最长的单词和次数最多的单词
- 找出字符串中对称的子字符串的最大长度(最长回文)
- 找出字符串中对称的子字符串的最大长度(最长回文)
- 找出字符串中对称的子字符串的最大长度(最长回文)
- 找出字符串中对称的子字符串的最大长度(最长回文)
- 5. Longest Palindromic Substring 找出给定字符串中最长的子字符串
- 找出两个字符串中最长的相同子字符串
- JAVA代码—算法基础:查找最长无重复的子字符串
- 找出字符串中对称的子字符串的最大长度(最长回文)
- 找出两个字符串中最长的相同子字符串
- java实现list清除重复的字符串;arraylist动态数组;角谷定理最终得1,找出10000以内哪个数字的步骤最长
- 从字符串中找出一个最长的不含重复字符的子字符串
- 找出字符串中对称的子字符串的最大长度(最长回文)
- 输入字符串,找出相同且长度最长的子字符串,输出
- leetcode:java.T014_LongestCommonPrefix--写一个函数找出一个字串所数组中的最长的公共前缀
- 找出字符串中字母不重复的最长的子字符串