Para este problema en particular no cree un algoritmo, simplemente use collections, que es un modulo que implementa de tipos de datos como dict, list, set y tuple pero de una manera “especializada”, básicamente son mas rápidos y tienen métodos muy útiles, en python 2.7 estan namedtuple, deque, Counter, OrderedDict, defaultdict y en python 3.2 en adelante empezaron agregar mas. Cyclic Rotation Problema: A zero-indexed array A consisting of N integers is given. Rotation of the array means that each element is shifted right by one index, and the last element of the array is also moved to the first place. For example, the rotation of array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, 7]. The goal[…]

Hace poco leí una publicación ya vieja de coding horror que habla de la incapacidad de la “mayoría” de los programadores para programar, esto basado en que cuando los ponían a hacer un simple Fizz Buzz no podían hacerlo. Inmediatamente lo intente y no tarde mucho tiempo resolviéndolo pero me quedo la duda de si realmente podía resolver cosas mas complejas que un Fizz Buzz. Hace tiempo escuche sobre codility y lo tenia en favoritos pero nunca lo probé, y hace unas semanas en facebook me recomendaron que si quería entrar en toptal le diera una revisada a codility que es una plataforma online para “testear” las habilidades de los programadores y es usado por un gran numero de empresas de software, de hecho si[…]