Proyecto: encuentra repetidos rápido
JavaScript · Unidad 21: Complejidad
- Plan completo
- JavaScript
- Proyecto
- 4 ejercicios
Saber si una lista trae repetidos se puede hacer de dos formas: comparando todas las parejas, O(n²), o anotando lo que ya viste en un Set, O(n).
Vas a escribir la segunda.
const ns = [4, 7, 4];
const vistos = new Set();
let hay = false;
for (const x of ns) {
if (vistos.has(x)) {
hay = true;
}
vistos.add(x);
}
console.log(hay);Imprime
true
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Predice la salida
Esta es la forma lenta: cuenta las comparaciones con 6 datos. ¿Qué imprime?
2. Completa el código
Completa para que avise solo si el valor ya había salido antes.
3. Escribe el código
Escribe
hayRepetido(items): regresatruesi algún valor aparece dos veces yfalsesi todos son distintos. Recorre el arreglo una sola vez y apóyate en elSet. Con el arreglo vacío esfalse.4. Escribe el código
Ahora
primerRepetido(items): en vez detrue, regresa el primer valor que ya había salido antes; si todos son distintos, regresanull. Es el mismo recorrido, cambiando lo que regresas.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.