转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/38924981 近期在项目工作中有一个关于文本对照的需求,经过这段时间的学习,总结了这篇博客内容:求两个字符串的最大公共子串. 算法思想:基于图计算两字符串的公共子串.详细算法思想參照下图: 输入字符串S1:achmacmh    输入字符串S2:macham 1)第a步,是将字符串s1,s2分别按字节拆分,构成一个二维数组: 2)二维数组中的值如b所看到的,比方第一行第一列的值…
最长公共前缀,输入两个字符串,如果存在公共前缀,求出最长的前缀,如果没有输出no.如“distance”和“discuss”的最长公共前缀是“dis”. s1 = input('请输入第1个字符串-->') s2 = input('请输入第2个字符串-->') # 判断两个字符串长度,避免循环溢出. if len(s1) < len(s2): n = len(s1) else: n = len(s2) # 把s1转换为list L1 = list(s1) # 把s2转换为list L2…
要求:求两个字符串的最长公共子串,如“abcdefg”和“adefgwgeweg”的最长公共子串为“defg”(子串必须是连续的) public class Main03{ // 求解两个字符号的最长公共子串 public static String maxSubstring(String strOne, String strTwo){ // 参数检查 if(strOne==null || strTwo == null){ return null; } if(strOne.equals("&qu…
在 Java 中不使用多余变量交换两个字符串 public class Test { public static void main(String[] args) { String a = "Hello"; String b = "World"; System.out.println("Strings before swap: a = " + a + " and b = " + b); a = a + b; b = a.sub…
题目 获取两个字符串中最大相同子串 前提 两个字符串中只有一个最大相同子串 解决方案 public class StringDemo { public static void main(String[] args) { String str1 = "abcwerthelloyuiodefabcdef"; String str2 = "cvhellobnm"; String str3 = getMaxSameString(str1, str2); System.out…
Description A substring of a string T is defined as: T( i, k)= TiTi+1... Ti+k-1, 1≤ i≤ i+k-1≤| T|. Given two strings A, B and one integer K, we define S, a set of triples (i, j, k): S = {( i, j, k) | k≥ K, A( i, k)= B( j, k)}. You are to give the val…
http://poj.grids.cn/practice/2744 描述现在有一些由英文字符组成的大小写敏感的字符串,你的任务是找到一个最长的字符串x,使得对于已经给出的字符串中的任意一个y,x或者是y的子串,或者x中的字符反序之后得到的新字符串是y的子串.输入输入的第一行是一个整数t (1 <= t <= 10),t表示测试数据的数目.对于每一组测试数据,第一行是一个整数n (1 <= n <= 100),表示已经给出n个字符串.接下来n行,每行给出一个长度在1和100之间的字符…
/** * 获取两个字符串的最大相同子串. 例:abegad acegab */public class TheSameString { public static void main(String[] args) { String s1 = "abegad"; String s2 = "acegab"; String maxString = maxSubString(s1, s2); System.out.println("最大的相同子串为:"…
问题描述: 题目描述Edit DistanceGiven two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:     a) Insert a character    …
两个字符串,以特定符号分隔(例如‘,’号),求交集 第一种情况: declare @m varchar(100),@n varchar(100)select @m=',2,3,5,7,8,9,10,', @n=',1,3,6,8,10,'select --count(1) result=substring(@m,number,charindex(',',@m,number)-number)from master..spt_valueswhere number<len(@m) and type='…