function findmaxsubstring2($str1, $str2) {
$str1len = strlen($str1);
$str2len = strlen($str2);
$sortstr = ($str1len > $str2len) ? $str2 : $str1;
$longstr = ($str1len < $str2len) ? $str2 : $str1;
$i = 0;
$j = 0;
$sortlen = strlen($sortstr);
$longlen = strlen($longstr);
$results = array();
$str;
$strresult;
for($i = 0; $i < $sortlen; $i++) {
//$startpos = $i;
for($j = 0; $j < $longlen; $j++) {
//echo "sortstr: " . $sortstr[$i] . " " . "longstr: " . $longstr[$j] . "<br />";
$n = 1;
$substr = "";
$tempa = $sortstr[$i];
$tempb = $longstr[$j];
while($tempa == $tempb) {
$substr .= $tempa;
if (($i + $n) < $sortlen && ($j + $n) < $longlen) {
$tempa = $sortstr[$i + $n];
$tempb = $longstr[$j + $n];
$n++;
} else {
break;
}
}
$results[] = $substr;
}
}
return $results;
}
分享到:
相关推荐
本文实例讲述了JavaScript自定义函数实现查找两个字符串最长公共子串的方法。分享给大家供大家参考,具体如下: //查找两个字符串的最长公共子串 function findSubStr(s1,s2){ var S=sstr= ,L1=s1.length,L2=s2....
在编程领域,求解两个字符串的最长公共子串是一个经典问题,主要应用于文本处理、比较和搜索算法。这里我们将深入探讨如何使用Java实现这一方法,同时结合华为在线判题平台(OJ)的要求来编写代码。 首先,我们需要...
在这个问题中,我们专注于PHP如何解决两个字符串的最长公共子串。 PHP作为一门广泛使用的服务器端脚本语言,提供了丰富的字符串和数组操作函数,这使得处理LCS问题变得相对容易。在给定的代码示例中,我们看到一种...
总结来说,C语言求两个字符串的最长公共子串主要依赖于字符串操作和动态查找算法。通过逐字符比较和记录最长匹配长度,我们可以找到这两个字符串的最长公共部分。这段代码提供了一个直观的实现方法,但它还可以...
在计算机科学中,查找两个字符串中的最大公共子串是一个非常实用的问题,它广泛应用于文本处理、生物信息学等多个领域。例如,在文本处理中,我们可能需要比较两篇文档之间的相似度;在生物信息学中,则可以用于比较...
在随意给出的2个字符串中,找出它们共同的最长的子串。 【输入】 输入文件的第一行为一个整数2,接下来有2行,每行为一个字符串,每个字符串的长度均小于255。 【输出】 输出只有一行,即:共同的最长子串,若有多个...
根据给定的信息,本文将详细解释如何在一个字符串中查找特定子串出现的次数,并通过提供的代码示例来进一步阐述这一过程。我们将从以下几个方面进行深入探讨: ### 1. 字符串与子串的基本概念 #### 1.1 字符串 在...
总之,通过上述方法,我们可以在JavaScript中实现一个查找两个字符串最大公共子串的函数。该函数的算法思路是通过简单的双指针遍历实现的,适用于基本的字符串匹配需求。对于更复杂或性能要求更高的场景,建议采用...
现在,我们要寻找两个字符串a和b中最长的公共子串。这个问题可以通过动态规划来解决。动态规划是一种利用已解决问题的解来构建更复杂问题的解的方法,它能有效地避免重复计算,提高效率。 动态规划解决方案通常涉及...
1. 构建部分匹配表,记录子串中每个字符之前的最长公共前后缀长度。 2. 遍历母串,使用部分匹配表进行比较,当遇到不匹配时,根据部分匹配表确定下一次比较的起始位置,而不是回溯到母串的前一个字符。 Boyer-Moore...
查找两个字符串的最大公共子串,用到指针和函数的知识
Java获取两个字符串中最大相同子串的方法是Java编程语言中常见的问题之一,其目的是找到两个字符串中最长的公共子串。这种方法有多种实现方式,但今天小编要分享的是一种简单、实用的方法。 在了解这个方法之前,让...
本主题聚焦于查找两个字符序列的所有公共子序列,这意味着我们要找出那些既存在于字符串A中又存在于字符串B中的连续字符序列,而无需考虑它们在原字符串中的相对位置。下面我们将深入探讨这一主题。 公共子序列问题...
最长公共子串(Longest Common Substring,LCS)是一个在计算机科学中常见的字符串处理问题,它涉及到查找两个或多个字符串中的最长连续子序列,这个子序列同时存在于所有字符串中。MFC,全称为Microsoft Foundation...
这两个算法相对于朴素的暴力匹配方法(时间复杂度O(n*m))有了很大的优化,尤其是在子串较长或需要查找多个子串时效果更明显。 总的来说,理解和掌握KMP和Sunday算法对于进行高效的字符串处理至关重要,它们是编程...
- 定义一个二维数组`dp`,其大小为`str1.Length+1`乘以`str2.Length+1`,用来存储两个字符串在不同位置的子串长度。 - 初始化`dp`数组,第一行和第一列的值均为0,因为没有字符可比较。 - 遍历`str1`和`str2`,...
根据给定的信息,本文将详细解析“求两个字符串的最长公共子串”的算法实现与原理。此题目在编程领域较为常见,特别是在字符串处理与算法设计方面。下面将从多个角度来探讨这一问题。 ### 一、问题定义 题目要求找...
徐志平在 FEX 上的提交引起了我的兴趣。 我知道它必须更有效。 长字符串很常见,因此拥有高效的代码非常有意义。 您可能会发现这些工具对于检查 DNA 碱基串或检查学生提交的作业是否... 找到了两个最大长度 (16) 个字符