PyWombat

Necesita estar autenticado para asignarse este ejercicio.
Instrucciones

Thanos sort es un algoritmo de ordenamiento de super villanos, que funciona de la siguiente manera: si un arreglo no está ordenado, chasquee los dedos para eliminar la primera o la segunda mitad de los elementos, y repita el proceso.

Dado un arreglo de entrada, ¿cuál es el tamaño del arreglo ordenado más largo que se puede obtener al utilizar Thanos sort.

link al problema original.


  • Generar una función llamada thanos_sort.
  • La función debe recibir como argumento una lista.
  • La función debe retornar el tamaño del arreglo (ordenado) más largo que se pueda obtener al implementar el algoritmo.
>>> array = [1, 2, 2, 4]
>>> thanos_sort(array)
4

>>> array = [11, 12, 1, 2, 13, 14, 3, 4]
>>> thanos_sort(array)
2

>>> array = [7, 6, 5, 4]
>>> thanos_sort(array)
1

Ayuda:

  • En el primer ejemplo el arreglo ya se encuentra ordenado, no es necesario chasquear los dedos.
  • En el segundo ejemplo el arreglo contiene 4 sub arreglos ordenados ( (11, 12) (1, 2) (13, 14) (3, 4) )
  • En el último ejemplo el arreglo se encuentra ordenado de forma descendente, entonces tú puedes solo almacenar un elemento de la última destrucción.

Plus: Si así lo deseas puedes implementar el algoritmo en una sola línea de código cof cof lambdas 👻