💻7 Cursos Oficiales

Informática

Informática: cursos, fórmulas clave, ejercicios explicados paso a paso y tutor socrático de IA 24/7 para secundaria, prepa y universidad.

Secundaria, Prepa y AP

CÉGEP y Universidad Inicial

Universidad Avanzada

Hoja de Examen (1 Pág.): Patrón Hash Map O(n²) → O(n)

Elimina los bucles anidados guardando los valores vistos en un Hash Map y verificando si (target - actual) ya existe en O(1).

  • 1. Inicializa mapa vacío: seen = new Map()
  • 2. Un solo ciclo: complement = target - nums[i]; si seen.has(complement) retorna índices
  • 3. Guarda el actual DESPUÉS de comprobar: seen.set(nums[i], i) → tiempo O(n)

¿Por qué verificar seen.has() ANTES de seen.set()?

Para evitar usar el mismo elemento dos veces cuando target = 2 × nums[i].

¿Cuándo se degrada un Hash Map de O(1) a O(n)?

Cuando ocurren colisiones masivas en el mismo bucket.

¿Y si el arreglo YA está ordenado y piden memoria O(1)?

Usa Dos Punteros (izquierda = 0, derecha = n - 1).