Ejercicio: Mínimo/Máximo Recursivo
Read in English | Solve Online
Antecedentes/Motivación
Encontrar tanto el elemento mínimo como el máximo en un arreglo se puede hacer de manera eficiente utilizando un enfoque de Divide y Vencerás. Este ejercicio introduce a los estudiantes la estrategia central de D&C: dividir el problema en subproblemas más pequeños, resolverlos recursivamente y combinar los resultados. Destaca cómo la recursión puede conducir a soluciones más elegantes y, a veces, más eficientes que los métodos iterativos para problemas con subestructuras auto-similares.
La Tarea
Implementa una función recursive_min_max(arr: list[int]) -> tuple[int, int] que encuentre tanto el elemento mínimo como el máximo en una lista de enteros utilizando recursión.
Especificaciones
- Nombre de la Función:
recursive_min_max - Argumentos:
arr(lista de enteros) - Tipo de Retorno:
tuple[int, int] - Resultado Esperado: Una tupla que contenga el valor mínimo y máximo en la lista. Para una lista vacía, el comportamiento no está definido (asume una lista no vacía para simplificar, o maneja según se especifique).
Restricciones
- La lista contendrá enteros.
- $1 \le ext{len(arr)} \le 10^5$
Ejemplo
Instrucciones
- Abre
exercises/recursive_min_max/solution.py. - Implementa la función
recursive_min_max. - Cambia
SUBMIT = FalseaSUBMIT = Trueen la parte superior del archivo cuando estés listo para ser evaluado. - Ejecuta
python solution.pylocalmente para verificar tu solución con las pruebas integradas.