Hola,
¿Está buscando una estructura de datos que almacene valores únicos, le permita insertar valores, encontrar el número total de valores y eliminar valores? La elección perfecta para esto es un Set. Muchos lenguajes de programación incluyen una estructura de datos Set incorporada y JavaScript no es una excepción. Profundicemos en cómo funcionan los conjuntos.
¿Qué es Establecer?
El Conjunto es una estructura de datos que le permite almacenar valores únicos de cualquier tipo, ya sean valores primitivos o referencias de objetos. El conjunto permite operaciones de inserción, eliminación, actualización y tamaño con complejidad temporal O(1). Lo que hace que el fraguado sea más rápido y eficiente.
Los conjuntos están diseñados para brindar tiempos de acceso rápidos. Por lo general, se implementan de manera que la búsqueda de elementos sea más rápida que simplemente verificar cada elemento uno por uno. La implementación típica puede ser una tabla hash (búsqueda O(1)) o un árbol de búsqueda (búsqueda O(log(N)).
Puntos clave
Métodos básicos
Ejemplos
// 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
Ejemplo de conjunto con problema de leetcode:
3. Subcadena más larga sin caracteres repetidos
Dada una cadena s, encuentre la longitud de la subcadena más larga sin caracteres repetidos.
Solución
/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let set = new Set(); let ans = 0; let s_index = 0; for (let i = 0; iExplicación:
La función lengthOfLongestSubstring utiliza una técnica de ventana deslizante con un Set para encontrar la subcadena más larga sin repetir caracteres:
Eso es todo, si tienes alguna duda o alguna sugerencia o cualquier cosa no dudes en agregar comentarios.
Fuentes:
MDN (Establecer)
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3