Heim > Backend-Entwicklung > PHP-Tutorial > . Wortteilmengen

. Wortteilmengen

Patricia Arquette
Freigeben: 2025-01-10 20:10:42
Original
709 Leute haben es durchsucht

. Word Subsets

916. Wortteilmengen

Schwierigkeit:Mittel

Themen:Array, Hash-Tabelle, String

Sie erhalten zwei String-Arrays, Wörter1 und Wörter2.

Eine Zeichenfolge b ist eine Teilmenge der Zeichenfolge a, wenn jeder Buchstabe in b in a einschließlich Multiplizität vorkommt.

  • Zum Beispiel ist „wrr“ eine Teilmenge von „warrior“, aber keine Teilmenge von „world“.

Eine Zeichenfolge a aus Wörter1 ist universell, wenn für jede Zeichenfolge b in Wörter2 b eine Teilmenge von a ist.

Gibt ein Array aller universellen Zeichenfolgen in Wörtern1 zurück. Sie können die Antwort in beliebiger Reihenfolge zurücksenden.

Beispiel 1:

  • Eingabe: Wörter1 = ["amazon", "Apple", "Facebook", "Google", "Leetcode"], Wörter2 = ["e", "o"]
  • Ausgabe: ["facebook", "google", "leetcode"]

Beispiel 2:

  • Eingabe: Wörter1 = ["amazon", "Apple", "Facebook", "Google", "Leetcode"], Wörter2 = ["l", "e"]
  • Ausgabe: ["Apple", "Google", "Leetcode"]

Einschränkungen:

  • 1 <= Wörter1.Länge, Wörter2.Länge <= 104
  • 1 <= Wörter1[i].Länge, Wörter2[i].Länge <= 10
  • Wörter1[i] und Wörter2[i] bestehen nur aus englischen Kleinbuchstaben.
  • Alle Wortfolgen1 sind einzigartig.

Lösung:

Wir müssen die Wörter in Wörter1 identifizieren, die „universell“ sind, was bedeutet, dass jede Zeichenfolge in Wörter2 eine Teilmenge des Wortes aus Wörter1 ist.

Ansatz:

  1. Zählen Sie die Häufigkeit von Zeichen in Wörtern2:

    • Zuerst müssen wir die maximale Anzahl für jedes Zeichen in allen Zeichenfolgen in Wörtern bestimmen2. Dies gibt uns die erforderliche Anzahl von Vorkommen, damit jedes Zeichen eine Teilmenge darstellt.
  2. Überprüfen Sie jedes Wort in Worten1:

    • Zählen Sie für jedes Wort in Wörter1 die Häufigkeit jedes Zeichens.
    • Wenn die Anzahl der Zeichen im Wort aus Wörtern 1 die erforderliche Anzahl aus Wörtern 2 erreicht oder überschreitet, ist das Wort universell.
  3. Gib die universellen Worte zurück:

    • Nachdem Sie alle Wörter in Wörter1 überprüft haben, geben Sie diejenigen zurück, die universell sind.

Lassen Sie uns diese Lösung in PHP implementieren: 916. Wortteilmengen






Erläuterung:

  1. Erstellen einer Häufigkeitskarte für Wörter2: Wir durchlaufen jedes Wort in Wörter2 und berechnen die Häufigkeit jedes Zeichens. Wir verfolgen die maximale Häufigkeit, die für jedes Zeichen in allen Wörtern in Wörtern2 benötigt wird.

  2. Wörter1 Wörter prüfen: Für jedes Wort in Wörter1 berechnen wir die Häufigkeit jedes Zeichens und vergleichen sie mit der erforderlichen Häufigkeit von Wörter2. Wenn das Wort die Anforderungen für alle Zeichen erfüllt, gilt es als universell.

  3. Ergebnis: Wir speichern alle universellen Wörter im Ergebnisarray und geben es am Ende zurück.

Zeitkomplexität:

  • Erstellen der Häufigkeitskarte für Wörter2: O(n * m), wobei n die Länge von Wörtern2 und m die durchschnittliche Länge von Wörtern in Wörtern2 ist.
  • Überprüfen von Wörtern1: O(k * m), wobei k die Länge von Wörtern1 und m die durchschnittliche Länge von Wörtern in Wörtern1 ist.
  • Die Gesamtzeitkomplexität beträgt ungefähr O(n * m k * m).

Dieser Ansatz stellt sicher, dass wir jedes Wort effizient prüfen und die Einschränkungen des Problems erfüllen.

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. Wortteilmengen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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