<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>
Schwierigkeit:Einfach
Themen:Array, String, String-Matching
Gibt bei einem gegebenen Array von Zeichenfolgen words
und einer Zeichenfolge pref
die Anzahl der Zeichenfolgen in words
zurück, die pref
als Präfix enthalten.
Ein Präfix einer Zeichenfolge s
ist eine beliebige führende zusammenhängende Teilzeichenfolge von s
.
Beispiel 1:
words
= ["bezahlen", "Aufmerksamkeit", "üben", "besuchen"], pref
= "at"Beispiel 2:
words
= ["leetcode", "win", "loops", "success"], pref
= "code"Einschränkungen:
Verbesserte Lösung (mit strpos):
Die bereitgestellte Lösung verwendet substr
, was für diese spezielle Aufgabe weniger effizient ist als strpos
. strpos
sucht direkt nach dem Präfix am Anfang der Zeichenfolge und vermeidet so die unnötige Erstellung von Teilzeichenfolgen.
Diese verbesserte PHP-Lösung verwendet 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>Zeitkomplexität:</strong> O(n*m) im schlimmsten Fall, wobei n die Anzahl der Wörter und m die Länge des Präfixes ist. Im Durchschnitt ist es jedoch schneller als die ursprüngliche <code>substr
-Lösung.Raumkomplexität: O(1) – Konstanter zusätzlicher Raum wird verwendet.
Diese überarbeitete Antwort bietet eine effizientere Lösung und wahrt die Klarheit der Erklärung. Das Bild bleibt unverändert, da es für die Problemstellung relevant ist.
Das obige ist der detaillierte Inhalt vonWörter mit einem bestimmten Präfix zählen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!