Coding Interview Prep · Lección

Detecte cuándo falla greedy

Encuentre contraejemplos antes de confiar en él

Lección 4 de 413 pasos

Detecte cuándo falla greedy es una lección gratuita de Coding Interview Prep en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Coding Interview Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Coding Interview Prep incluye 4 lecciones en total.

La estrategia voraz resulta tentadora

La estrategia voraz es breve, rápida y parece obvia, precisamente por eso puede hacerle caer en una trampa. Una idea clara no equivale a una idea correcta. ⚠️

La trampa del cambio de monedas

Con monedas de 1, 3 y 4, para obtener 6 la estrategia voraz elige 4 y después necesita dos monedas de 1, para un total de tres monedas. La mejor opción real son dos monedas de 3.

Qué salió mal

La moneda más grande fue una ganancia local que bloqueó la mejor solución global. La estrategia voraz no pudo deshacer la elección y por eso no encontró la respuesta de dos monedas.

Encuentre un contraejemplo

La comprobación más rápida es buscar un pequeño contraejemplo: una entrada reducida en la que la estrategia voraz y el óptimo real sean diferentes. Uno basta para descartarla.

La mochila 0/1, de nuevo

La estrategia voraz basada en proporciones falla con elementos indivisibles: un elemento pequeño y denso puede desplazar a dos elementos que juntos lo superan. Poder dividir los elementos era la libertad que faltaba.

Cuando las decisiones interactúan

Si elegir un elemento cambia cuáles de los demás todavía conviene tomar, la estrategia voraz suele fallar. Las dependencias entrelazadas indican que debe recurrir a la programación dinámica.

Póngala a prueba

Escriba una solución lenta por fuerza bruta y un generador aleatorio, y compare ambas con miles de casos pequeños. Una sola discrepancia deja al descubierto el fallo.

for _ in range(10000):
    t = random_case()
    assert greedy(t) == brute(t)

La prueba del intercambio

Para confiar en una estrategia voraz, intente demostrar un argumento de intercambio. Si no puede demostrar que la elección voraz forma parte de alguna solución óptima, manténgase alerta.

La estrategia voraz como subrutina

Aunque no sea la respuesta completa, la estrategia voraz puede ser un componente dentro de una programación dinámica o una búsqueda más grandes. Úsela solo donde sea demostrablemente segura.

Lea las restricciones

Un valor pequeño de N suele significar que ni siquiera necesita una estrategia voraz. La fuerza bruta o la programación dinámica pueden ser suficientes y evitan por completo el riesgo de corrección.

Un hábito que le ahorra puntos

Antes de enviar una estrategia voraz tentativa, dedique un minuto a buscar un contraejemplo. Esta pequeña comprobación evita un doloroso veredicto de respuesta incorrecta.

Comprobación rápida

Sospecha que una estrategia voraz podría ser incorrecta.

Resumen

La estrategia voraz falla cuando una ganancia local bloquea la mejor solución global, como ocurre con algunos conjuntos de monedas y con la mochila 0/1. Busque contraejemplos y haga pruebas de estrés antes de confiar en ella. 🚀

Gratis para empezar

Aprende Coding Interview Prep con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
90
Lecciones
360

Preguntas frecuentes

¿La lección «Detecte cuándo falla greedy» es gratis?

Sí — el texto completo de «Detecte cuándo falla greedy» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Coding Interview Prep, actualiza a CoddyKit PRO. El curso de Coding Interview Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Detecte cuándo falla greedy»?

Encuentre contraejemplos antes de confiar en él Practicas Coding Interview Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Coding Interview Prep?

No se requiere experiencia previa. Coding Interview Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Detecte cuándo falla greedy»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Coding Interview Prep?

Sí. Cada lección de Coding Interview Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. La mentalidad greedy
  2. Selección de actividades por finalización más temprana
  3. Mochila fraccionaria por proporción
  4. Detecte cuándo falla greedy
← Volver a Coding Interview Prep