CodeForge

JavaScript de Cero a Experto / Proyectos + retos

Reto de entrevista: el par que suma (Two Sum)

Reto20 min60 XP

Dado un array de números y un objetivo, encuentra los dos que sumados dan el objetivo. Es quizá el reto de entrevista más famoso del mundo (lo verás como "Two Sum"), y su gracia es esta: la solución obvia funciona, pero la buena es DIEZ veces más rápida usando un truco que cambia cómo piensas los arrays.

Reto

El par que suma

Media15 min60 XP(×2 sin mirar la solución)

Qué debes construir

Una función dosSuman(numeros, objetivo) que devuelva los ÍNDICES de los dos números que suman objetivo. Si no hay par, devuelve null.

  • dosSuman([2, 7, 11, 15], 9)[0, 1] (porque 2 + 7 = 9)
  • dosSuman([3, 2, 4], 6)[1, 2] (porque 2 + 4 = 6)
  • dosSuman([1, 2], 10)null

Reglas

  • Devuelve los índices, no los valores.
  • No uses el mismo elemento dos veces.
  • Intenta la versión con objeto/Map (una sola pasada).

15:00

Cuando estés listo, arranca el reloj.

Qué sigue

El siguiente reto trae la recursión, la técnica que da miedo hasta que hace clic: aplanar un array con arrays adentro con arrays adentro… a cualquier profundidad. Una función que se llama a sí misma.