using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 两个字符串的最大公因子
{
class Program
{
/// <summary>
/// 查找最大公共子串, (方法一)
/// </summary>
/// <param name="str1"></param>
/// <param name="str2"></param>
/// <param name="maxSublength"></param>
/// <returns></returns>
private static List<string> FindMaxSubString(string str1, string str2)
{
List<string> maxSubStrings = new List<string>();
if(str1.Length<str2.Length)//保持 str1 的长度大于等于 str2
{
string temp = str1;
str1 = str2;
str2 = temp;
}
int maxlen = str1.Length;
int minlen = str2.Length;
List<string>[] str1_sub = SpitString(str1);
List<string>[] str2_sub = SpitString(str2);
for (int i = minlen-1; i>=0;i-- )
{
for (int j = 0; j < str2_sub[i].Count;j++ )
{
if (str1_sub[i].Contains(str2_sub[i][j]))
{
maxSubStrings.Add(str2_sub[i][j]);
}
}
if (maxSubStrings.Count > 0)
break;
C#之求两个输入的字符串的最长公共子串
最新推荐文章于 2021-05-16 05:21:42 发布
本文介绍了两种方法求解C#中两个输入字符串的最长公共子串问题。方法一是通过拆分较短字符串并匹配,方法二是利用矩阵进行计算,例如展示的矩阵对应例子为s1和s2的最长公共子串。
摘要由CSDN通过智能技术生成