1 – ordenar la lista
2 – haga dos listas de tal manera que los números en índices impares se inserten en una lista y los números en índices pares se inserten en la otra
3 – repita el paso 2 para las nuevas listas hasta que tenga n listas de 1 elemento cada una
4 – concatena las n listas juntas
p.ej
1,2,3,4,5,6,7,8,9
/ \
1,3,5,7,9 2,4,6,8
/ \ / \
1,5,9 3,7 2,6 4,8
/ \ / \ / \ / \
1,9 5 3 7 2 6 4 8
/ \ \ \ \ \ \ \ \
1 9 5 3 7 2 6 4 8
- Sigo fallando las entrevistas de programación para pasantías de ingeniería de software. ¿Qué tengo que hacer?
- ¿Se espera que escriba un código perfecto en su primer intento en entrevistas tecnológicas?
- ¿Aproximadamente cuánto tiempo se espera que pasen los candidatos para trabajos de programación en tareas de programación para llevar a casa?
- ¿Está predispuesto Facebook hacia los candidatos a entrevistas que son los mejores clasificados en las competencias de programación en línea?
- ¿Qué crees que apesta más sobre las entrevistas de la industria de TI india?
Esto funciona porque:
a) dada una progresión lineal de números naturales, el promedio de dos números impares consecutivos es siempre par, y del mismo modo, el promedio de dos números pares siempre es impar. Al separar por paridad, garantizamos que no hay dos números consecutivos de la misma paridad separados por el número que representa sus promedios.
b) una progresión de números naturales cuya distancia entre números consecutivos es constante es una función lineal de la progresión de números naturales y puede simbolizarse como uno (es decir, uno puede pensar en ella como una progresión de números tal que solo 1,3,5, 7,9 son números válidos, y donde 1,5,9 son “pares” y 3,7 son “impares”)
c) podemos reducir recursivamente b) a a) para cubrir todos los intervalos