Comment trouver la sous-chaîne commune la plus longue de deux chaînes en PHP ?

php中世界最好的语言
Libérer: 2023-03-18 07:44:01
original
1350 Les gens l'ont consulté

Cet article vous montre principalement comment synthétiser la chaîne commune la plus longue à partir de deux chaînes en utilisant PHP. Impliquant la chaîne php et la traversée de tableaux, les opérations, le jugement et d'autres compétences opérationnelles connexes.

Le code est le suivant :

<?php
$a = &#39;abceee12345309878&#39;;
$b = &#39;abceeew2345i09878fsfsfsfabceeewsfsdfsfsabceeew&#39;;
$c = array();
$lenht1 = strlen($a);
$lenth2 = strlen($b);
$startTime = microtime(true);
for ($i=0;$i<$lenht1;$i++) {
  for ($j=0;$j<$lenth2;$j++) {
    $n = ($i-1>=0 && $j-1>=0)?$c[$i-1][$j-1]:0;
    $n = ($a[$i] == $b[$j]) ? $n+1:0;
    $c[$i][$j] = $n;
  }
}
foreach ($c as $key=>$val) {
  $max = max($val);
  foreach ($val as $key1 =>$val1) {
    if ($val1 == $max && $max>0) {
      $cdStr[$max] = substr($b,$key1-$max+1,$max);
    }
  }
}
ksort($cdStr);
$endTime = microtime(true);
echo "Totle time is " . ($endTime - $startTime) . " s"."<br/>";
print_r(end($cdStr));
exit;
?>
Copier après la connexion

Résultats d'exécution :

Totle time is 0.0012800693512 s
abceee
Copier après la connexion

Je crois que vous maîtrisez la méthode après avoir lu ces cas , plus excitant Veuillez prêter attention aux autres articles connexes sur le site Web chinois php !

Lecture connexe :

Comment générer un produit cartésien avec la fonction personnalisée PHP

Comment PHP résout le problème des grands sites Web trafic et haute concurrence

Explication détaillée des types de données javascript et du code d'utilisation de git

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal