Skip to content

Latest commit

 

History

History
55 lines (36 loc) · 1.26 KB

23.md

File metadata and controls

55 lines (36 loc) · 1.26 KB

⬅️ Regresar

Reto #23: 🔢 Encuentra los números perdidos

Instrucciones

Los elfos están trabajando en un sistema para verificar las listas de regalos de los niños 👧👦. Sin embargo, ¡algunas listas están incompletas y faltan números!

Tu tarea es escribir una función que, dado un array de números, encuentre todos los números que faltan entre 1 y n (donde n es el tamaño del array o el número más alto del array).

Eso sí, ten en cuenta que:

  • Los números pueden aparecer más de una vez y otros pueden faltar
  • El array siempre contiene números enteros positivos
  • Siempre se empieza a contar desde el 1
findMissingNumbers([1, 2, 4, 6])
// [3, 5]

findMissingNumbers([4, 8, 7, 2])
// [1, 3, 5, 6]

findMissingNumbers([3, 2, 1, 1])
// []

findDisappearedNumbers([5, 5, 5, 3, 3, 2, 1])
// [4]

Solución

function findMissingNumbers(nums) {
	const list = new Set(nums.sort())
	const all = new Set(Array.from({ length: [...list][list.size - 1] }, (_, i) => i + 1))
	return [...all.difference(list)]
}

Puntaje: 🌟🌟🌟🌟🌟

1796 ops/s

Complejidad cognitiva: 2


⬅️ Regresar