从两个字符串中找出最大公共子字符串
发布时间:2021-07-06 06:46:23 所属栏目:大数据 来源: https://www.jb51.cc
导读:从两个字符串(str_1,str_2)中找出最大公共子字符串(comString)的方法为: 选取长度较短的字符串(假设str_1较短)做截取; 从字符串中截取长度为1的子字符串; 每个子字符串都在str_2中做查询,查询到则将该字符串赋予comString; 从字符串中截取长度为2的
从两个字符串(str_1,str_2)中找出最大公共子字符串(comString)的方法为:
截取字符串例子: 实例: [Java] /** * create by lijiaman on 2016-09-24 * 题目:求两个字符串的最大公共子字符串 * 思路:将短的字符串从短到长做字符串截取,截取结果与另一个字符串做查询,如果查询到,默认为公共字符串。 */ package com.company; public class Main { static void main(String[] args) { String str_1="abcdefghijk"; String str_2="abcdfghabcdef"; commonString(str_1,str_2); } static commonString(String str_1,String str_2) { String comString=""; //用于存放公共字符串 String childString=""; 存放拆分得到的子字符串 String minString=str_1.length()<str_2.length()?str_1:str_2; 选取短的字符串做拆分 System.out.println(minString); for(int i=1;i<=minString.length();i++) int j=0;j<minString.length();j++) { if(j+i<=minString.length()) { childString = minString.substring(j,j + i); if (str_2.indexOf(childString) != -1) 如果不等于-1,则表示在str_2里面找到childString comString = childString; } } System.out.println(comString); } } 结果为: (编辑:北几岛) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |