Heim >Backend-Entwicklung >PHP-Tutorial >Zählen Sie die Anzahl der konsistenten Zeichenfolgen
1684. Zählen Sie die Anzahl der konsistenten Zeichenfolgen
Schwierigkeit:Einfach
Themen:Array, Hash-Tabelle, String, Bitmanipulation, Zählen
Sie erhalten eine zulässige Zeichenfolge, die aus unterschiedlichen Zeichen und einer Reihe von Zeichenfolgenwörtern besteht. Eine Zeichenfolge ist konsistent, wenn alle Zeichen in der Zeichenfolge in der zulässigen Zeichenfolge vorkommen.
Gibt die Anzahl der konsistenten Zeichenfolgen in den Array-Wörtern zurück.
Beispiel 1:
Beispiel 2:
Beispiel 3:
Einschränkungen:
Hinweis:
Lösung:
Die Idee besteht darin, zu überprüfen, ob jedes Wort im Wortarray konsistent mit den Zeichen in der zulässigen Zeichenfolge ist. Ein Wort ist konsistent, wenn alle seine Zeichen in der zulässigen Zeichenfolge vorhanden sind.
Zulässiger Zeichensatz:
Wortkonsistenzprüfung:
Konsistente Wörter zählen:
Zählung zurückgeben:
Lassen Sie uns diese Lösung in PHP implementieren: 1684. Zählen Sie die Anzahl der konsistenten Zeichenfolgen
<?php /** * @param String $allowed * @param String[] $words * @return Integer */ function countConsistentStrings($allowed, $words) { ... ... ... /** * go to ./solution.php */ } // Example usage: // Example 1: $allowed = "ab"; $words = ["ad", "bd", "aaab", "baa", "badab"]; echo countConsistentStrings($allowed, $words); // Output: 2 // Example 2: $allowed = "abc"; $words = ["a","b","c","ab","ac","bc","abc"]; echo countConsistentStrings($allowed, $words); // Output: 7 // Example 3: $allowed = "cad"; $words = ["cc","acd","b","ba","bac","bad","ac","d"]; echo countConsistentStrings($allowed, $words); // Output: 4 ?> <h3> Erläuterung: </h3> <ol> <li> <p><strong>Zulässiger Satz</strong>:</p> <ul> <li>Wir erstellen ein assoziatives Array $allowedSet, in dem jeder Schlüssel ein Zeichen aus der zulässigen Zeichenfolge ist. Dies ermöglicht schnelle Suchvorgänge.</li> </ul> </li> <li> <p><strong>Wortkonsistenz</strong>:</p> <ul> <li>Für jedes Wort im Wortarray durchlaufen wir seine Zeichen und prüfen, ob sie in $allowedSet enthalten sind. Wenn wir ein Zeichen finden, das nicht in der Menge enthalten ist, wird das Wort als inkonsistent markiert und wir fahren mit dem nächsten Wort fort.</li> </ul> </li> <li> <p><strong>Zählen</strong>:</p> <ul> <li>Jedes Mal, wenn wir ein konsistentes Wort finden, erhöhen wir den Zähler $consistentCount.</li> </ul> </li> <li> <p><strong>Ergebnis zurückgeben</strong>:</p> <ul> <li>Nachdem alle Wörter verarbeitet wurden, enthält der Zähler die Anzahl der konsistenten Zeichenfolgen, die wir zurückgeben.</li> </ul> </li> </ol> <h3> Zeitkomplexität: </h3> <ul> <li> <strong>Zeitkomplexität</strong>: O(n * m), wobei n die Anzahl der Wörter und m die durchschnittliche Länge der Wörter ist. Wir gehen alle Wörter und ihre Zeichen durch.</li> </ul> <h3> Beispielhafte Vorgehensweise: </h3> <p>Zur Eingabe:<br> </p> <pre class="brush:php;toolbar:false">$allowed = "ab"; $words = ["ad", "bd", "aaab", "baa", "badab"];
Die Funktion gibt also 2 zurück.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Das obige ist der detaillierte Inhalt vonZählen Sie die Anzahl der konsistenten Zeichenfolgen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!