Heim >Backend-Entwicklung >PHP-Tutorial >Überprüfen Sie, ob ein Wort als Präfix eines beliebigen Wortes in einem Satz vorkommt

Überprüfen Sie, ob ein Wort als Präfix eines beliebigen Wortes in einem Satz vorkommt

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 01:35:25231Durchsuche

Check If a Word Occurs As a Prefix of Any Word in a Sentence

1455. Überprüfen Sie, ob ein Wort als Präfix eines beliebigen Wortes in einem Satz vorkommt

Schwierigkeit:Einfach

Themen:Zwei Zeiger, String, String-Matching

Überprüfen Sie anhand eines Satzes, der aus einigen Wörtern besteht, die durch ein einzelnes Leerzeichen getrennt sind, und einem Suchwort, ob Suchwort ein Präfix eines beliebigen Wortes im Satz ist.

Gibt den Index des Worts im Satz zurück (1-indexiert), wobei searchWord ein Präfix dieses Wortes ist. Wenn searchWord ein Präfix von mehr als einem Wort ist, wird der Index des ersten Wortes zurückgegeben (Minimalindex). Wenn es kein solches Wort gibt, geben Sie -1 zurück.

Ein Präfix einer Zeichenfolge s ist jede führende zusammenhängende Teilzeichenfolge von s.

Beispiel 1:

  • Eingabe: Satz = „Ich liebe es, Burger zu essen“, searchWord = „burg“
  • Ausgabe: 4
  • Erklärung: „burg“ ist das Präfix von „burger“, dem vierten Wort im Satz.

Beispiel 2:

  • Eingabe: Satz = „Dieses Problem ist ein einfaches Problem“, searchWord = „pro“
  • Ausgabe: 2
  • Erklärung: „pro“ ist das Präfix von „problem“, dem 2. und 6. Wort im Satz, aber wir geben 2 zurück, da es der minimale Index ist.

Beispiel 3:

  • Eingabe: Satz = „Ich bin müde“, Suchwort = „Du“
  • Ausgabe: -1
  • Erklärung: „Sie“ ist kein Präfix eines Wortes im Satz.

Einschränkungen:

  • 1 <= Satzlänge <= 100
  • 1 <= searchWord.length <= 10
  • Der Satz besteht aus englischen Kleinbuchstaben und Leerzeichen.
  • searchWord besteht aus englischen Kleinbuchstaben.

Hinweis:

  1. Extrahieren Sie zunächst die Wörter des Satzes.
  2. Überprüfen Sie für jedes Wort, ob searchWord am Index 0 vorkommt, wenn ja, geben Sie den Index dieses Worts zurück (1-indiziert)
  3. Wenn searchWord nicht als Präfix eines Wortes existiert, wird der Standardwert (-1) zurückgegeben.

Lösung:

Wir können die Aufgabe in die folgenden Schritte unterteilen:

  1. Teilen Sie den Satz in einzelne Wörter auf.
  2. Durchlaufen Sie die Wörter und prüfen Sie, ob das Suchwort ein Präfix jedes Wortes ist.
  3. Wenn ein Wort mit „searchWord“ beginnt, wird die 1-indizierte Position des Worts zurückgegeben.
  4. Wenn kein Wort übereinstimmt, geben Sie -1 zurück.

Lassen Sie uns diese Lösung in PHP implementieren: 1455. Überprüfen Sie, ob ein Wort als Präfix eines beliebigen Wortes in einem Satz vorkommt






Erläuterung:

  1. Satz in Wörter aufteilen:

    Wir verwenden explosion(" ", $sentence), um den Satz in ein Array von Wörtern aufzuteilen.

  2. Über Wörter iterieren:

    Verwenden Sie eine foreach-Schleife, um jedes Wort im Satz zu durchlaufen. Die Variable $index verfolgt die Position des Wortes (0-indiziert).

  3. Prüfung auf Präfix:

    Verwenden Sie strpos($word, $searchWord) === 0, um zu überprüfen, ob das Suchwort am Anfang des aktuellen Worts vorkommt.

  4. Ergebnis zurückgeben:

    Wenn eine Übereinstimmung gefunden wird, geben Sie den 1-basierten Index des Worts zurück, indem Sie 1 zu $index hinzufügen. Wenn nach der Schleife keine Übereinstimmung gefunden wird, geben Sie -1 zurück.

Beispielausgaben:

  • Für den Eingabesatz = „i love eating burger“ und searchWord = „burg“ ist die Ausgabe 4, da „burger“ das 4. Wort ist.
  • Für den Eingabesatz = „dieses Problem ist ein einfaches Problem“ und searchWord = „pro“ ist die Ausgabe 2, da „problem“ das 2. Wort ist.
  • Für den Eingabesatz = „ich bin müde“ und searchWord = „you“ ist die Ausgabe -1, da kein Wort mit „you“ beginnt.

Zeitkomplexität:

  • Das Aufteilen des Satzes in Wörter erfordert O(n), wobei n die Länge des Satzes ist.
  • Die Überprüfung jedes Wortes auf ein Präfix erfordert O(m), wobei m die Länge des Suchworts ist.
  • Daher beträgt die Gesamtzeitkomplexität O(n * m), was für die Eingabegrößenbeschränkungen effizient ist.

Diese Lösung erfüllt die Einschränkungen und ist für die gegebene Eingabegröße effizient.

Kontaktlinks

Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!

Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:

  • LinkedIn
  • GitHub

Das obige ist der detaillierte Inhalt vonÜberprüfen Sie, ob ein Wort als Präfix eines beliebigen Wortes in einem Satz vorkommt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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