Hallo,
Suchen Sie nach einer Datenstruktur, die eindeutige Werte speichert, es Ihnen ermöglicht, Werte einzufügen, die Gesamtzahl der Werte zu ermitteln und Werte zu löschen? Die perfekte Wahl dafür ist ein Set. Viele Programmiersprachen verfügen über eine integrierte Set-Datenstruktur, und JavaScript bildet da keine Ausnahme. Lassen Sie uns tiefer in die Funktionsweise von Sets eintauchen.
Was ist Set?
Das Set ist eine Datenstruktur, mit der Sie eindeutige Werte jeglicher Art speichern können, unabhängig davon, ob es sich um Grundwerte oder Objektreferenzen handelt. Der Satz ermöglicht Einfüge-, Lösch-, Aktualisierungs- und Größenoperationen mit einer Zeitkomplexität von O(1). Dadurch wird die Einstellung schneller und effizienter.
Sets sind so konzipiert, dass sie schnelle Zugriffszeiten ermöglichen. Sie werden in der Regel so implementiert, dass das Nachschlagen von Elementen schneller erfolgt, als einfach jedes Element einzeln zu überprüfen. Die typische Implementierung kann eine Hash-Tabelle (O(1)-Suche) oder ein Suchbaum (O(log(N))-Suche) sein.
Wichtige Punkte
Grundlegende Methoden
Beispiele
// 1. Create a new Set and use the .add() method to add elements const mySet = new Set(); mySet.add(10); mySet.add(20); mySet.add(30); console.log(mySet); // Output: Set { 10, 20, 30 } // 2. Check if the Set has a specific element using .has() method console.log(mySet.has(20)); // Output: true console.log(mySet.has(40)); // Output: false // 3. Delete an element from the Set using .delete() method mySet.delete(20); console.log(mySet); // Output: Set { 10, 30 } // 4. Iterate over the Set using .keys() method // In Sets, .keys() and .values() do the same thing for (const key of mySet.keys()) { console.log(key); } // Output: // 10 // 30 // 5. Get the size of the Set using .size property console.log(mySet.size); // Output: 2
Beispiel für einen Satz mit Leetcode-Problem:
3. Längster Teilstring ohne sich wiederholende Zeichen
Ermitteln Sie bei einer gegebenen Zeichenfolge s die Länge der längsten Teilzeichenfolge ohne sich wiederholende Zeichen.
Lösung
/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let set = new Set(); let ans = 0; let s_index = 0; for (let i = 0; iErläuterung:
Die Funktion lengthOfLongestSubstring verwendet eine Schiebefenstertechnik mit einem Set, um den längsten Teilstring ohne sich wiederholende Zeichen zu finden:
Das war's. Wenn Sie Zweifel, Vorschläge oder ähnliches haben, können Sie gerne Kommentare hinzufügen.
Quellen:
MDN (Set)
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3