Heim > Backend-Entwicklung > PHP-Tutorial > Wörter mit einem bestimmten Präfix zählen

Wörter mit einem bestimmten Präfix zählen

Susan Sarandon
Freigeben: 2025-01-09 18:03:42
Original
611 Leute haben es durchsucht
<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>
Nach dem Login kopieren

Counting Words With a Given Prefix

  1. Wörter mit einem bestimmten Präfix zählen

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:

  • Eingabe: words = ["bezahlen", "Aufmerksamkeit", "üben", "besuchen"], pref = "at"
  • Ausgabe: 2
  • Erklärung: Die 2 Zeichenfolgen, die „at“ als Präfix enthalten, sind: „attention“ und „attend“.

Beispiel 2:

  • Eingabe: words = ["leetcode", "win", "loops", "success"], pref = "code"
  • Ausgabe: 0
  • Erklärung:Es gibt keine Zeichenfolgen, die „Code“ als Präfix enthalten.

Einschränkungen:

  • 1 <= Wörter.Länge <= 100
  • 1 <= Wörter[i].Länge <= 20
  • 1 <= bevorzugte Länge <= 20
  • Wörter[i] und pref bestehen aus englischen Kleinbuchstaben.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage