<code class="language-php"><?php /** * @param String[] $words * @param String $pref * @return Integer */ function countWordsWithPrefix($words, $pref) { $count = 0; foreach ($words as $word) { if (strpos($word, $pref) === 0) { $count++; } } return $count; } // Example Usage $words1 = ["pay", "attention", "practice", "attend"]; $pref1 = "at"; echo countWordsWithPrefix($words1, $pref1); // Output: 2 $words2 = ["leetcode", "win", "loops", "success"]; $pref2 = "code"; echo countWordsWithPrefix($words2, $pref2); // Output: 0 ?></code>
Difficulté :Facile
Sujets : Tableau, chaîne, correspondance de chaînes
Étant donné un tableau de chaînes words
et une chaîne pref
, renvoie le nombre de chaînes dans words
qui contiennent pref
comme préfixe.
Un préfixe d'une chaîne s
est n'importe quelle sous-chaîne contiguë de s
.
Exemple 1 :
words
= ["payer", "attention", "pratiquer", "assister"], pref
= "à" Exemple 2 :
words
= ["leetcode","win","loops","success"], pref
= "code"Contraintes :
Solution améliorée (en utilisant strpos) :
La solution fournie utilise substr
qui est moins efficace que strpos
pour cette tâche spécifique. strpos
vérifie directement le préfixe au début de la chaîne, évitant ainsi la création inutile de sous-chaînes.
Cette solution PHP améliorée utilise strpos
:
<?php function countWordsWithPrefix(array $words, string $pref): int { $count = 0; foreach ($words as $word) { if (strpos($word, $pref) === 0) { // Check if pref is at the beginning (index 0) $count++; } } return $count; } ?> <p><strong>Complexité temporelle :</strong> O(n*m) dans le pire des cas, où n est le nombre de mots et m est la longueur du préfixe. Cependant, en moyenne, ce sera plus rapide que la <code>substr
solution originale.Complexité de l'espace : O(1) - Un espace supplémentaire constant est utilisé.
Cette réponse révisée fournit une solution plus efficace et maintient la clarté de l'explication. L'image reste inchangée car elle est pertinente par rapport à l'énoncé du problème.
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!