Ordenamiento acotado
Crea una función que devuelva True si un arreglo de entrada se puede ordenar por completo ordenando únicamente dentro de los límites [0, n] (inclusive), donde n es menor o igual que la longitud del arreglo, y False en caso contrario.
Ejemplos
bound_sort([1, 6, 5, 3, 8, 9], [0, 3]) ➞ True
# Si [1, 6, 5, 3] se ordena como [1, 3, 5, 6], el arreglo queda completamente ordenado.
bound_sort([1, 6, 5, 3, 8, 9], [0, 2]) ➞ False
# Aunque [1, 6, 5] se ordene como [1, 5, 6], el arreglo todavía no queda completamente ordenado.
bound_sort([1, 9, 2, 5, 7], [0, 4]) ➞ True
bound_sort([1, 9, 2, 5, 7], [0, 3]) ➞ False
# Ordenar desde [0, 3] produce [1, 2, 5, 9, 7], pero el arreglo todavía no queda completamente ordenado.Notas
- Los números del arreglo serán únicos.
- El índice inferior del límite siempre será
0.