Maison > développement back-end > tutoriel php > Explication détaillée de l'utilisation de PHP pour trouver la sous-chaîne commune la plus longue de deux chaînes

Explication détaillée de l'utilisation de PHP pour trouver la sous-chaîne commune la plus longue de deux chaînes

*文
Libérer: 2023-03-19 08:56:02
original
2291 Les gens l'ont consulté

Comment trouver la sous-chaîne commune la plus longue de deux chaînes en utilisant PHP ? Cet article présente principalement la méthode permettant de trouver la sous-chaîne commune la plus longue de deux chaînes en PHP, impliquant la traversée, l'opération, le jugement et d'autres compétences opérationnelles connexes des chaînes et des tableaux PHP. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.

La méthode PHP précédente pour résoudre le problème de sous-chaîne commune le plus long a été améliorée sur la base de Java. Nous examinons ici un autre algorithme de sous-chaîne courant.

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ésultat d'exécution :

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

Recommandations associées :

Explication détaillée de la bibliothèque de fonctions BC d'opération de haute précision PHP

Explication détaillée de la méthode PHP de calcul de la stabilité des scores des étudiants

Explication détaillée de la vulnérabilité de désérialisation de session de PHP

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