Coffee bytes

Blog de desarrollo web con Python y Javascript

Un problema de algoritmos al día

El martes, 4 de junio de 2019

por Eduardo Zepeda

Tiempo de lectura: 3 minutos

El otro día, uno de los youtubers que sigo recomendó una página para recibir algoritmos por correo electrónico ¿Qué te parecería recibir un problema de algoritmos al día en tu correo electrónico? Son 7 problemas por semana y 365 problemas por año. Imagina cuanto mejoraría tu habilidad de resolución de problemas y capacidad analítica. ¿Aún no es suficiente? ¿qué tal si te digo que esos acertijos de código son preguntas frecuentes en entrevistas laborales de empresas top de tecnología de talla mundial?

Un día, un reto

Para recibir un problema de algoritmos basta tu correo electrónico. Los problemas no ponen a prueba tu conocimiento de, sintaxis, ni el número de funciones o librerías de algún lenguaje en específico, sino tu habilidad de resolución de problemas. Los encargados de la página (aunque yo creo que es solo uno) afirman, aunque no hay manera de corroborarlo, que los problemas presentados se obtienen de entrevistas laborales en Google, Twitter, Uber, Airbnb, Stripe, entre otros.

Mi experiencia con los desafíos

Me suscribí a su lista hace algo de tiempo y actualmente recibo por correo electrónico sus desafíos. Hay unos en los que me ha tomado un par de minutos dar con el algoritmo para resolverlos y para otros he tenido que meditar el problema durante varias horas, para dar con una solución. Todos muy interesantes, eso sí.

Pero, hay una mala noticia; las soluciones no te llegan por correo electrónico, sino que forman parte del paquete premium, de cobro, ¿no esperabas que trabajaran de gratis verdad? El paquete premium recibe un análisis detallado de las soluciones y de su eficiencia, utilizando notación Big O. Sin embargo esto no es un obstáculo de ninguna manera, pues puedes darte cuenta por ti mismo si tu solución satisface los requerimientos o no tan solo leyendo el contenido del correo electrónico; el análisis de eficiencia ya es otra historia.

Un par de ejemplos

¿Te da curiosidad saber como son los problemas? Aquí te dejo un par de ejemplos del estilo de sus problemas:

Given a list of numbers and a number k, return whether any two numbers from the list add up to k.
For example, given [10, 15, 3, 7] and k of 17, return true since 10 + 7 is 17.
Bonus: Can you do this in one pass?

Aquí dejo el segundo:

Given an array of integers, return a new array such that each element at index i of the new array is the product of all the numbers in the original array except the one at i.
For example, if our input was [1, 2, 3, 4, 5], the expected output would be [120, 60, 40, 30, 24]. If our input was [3, 2, 1], the expected output would be [2, 3, 6].

¿Qué dices? ¿Fácil o difícil? Deja tu opinión o solución a los problemas en los comentarios. Probablemente en alguna entrada futura resuelva uno de los problemas.

¿Donde puedo suscribirme?

Te dejo aquí el enlace para suscribirte. Por favor considera que los problemas están en inglés.

Daily coding problem

Presume lo que aprendiste en redes

Posts de calidad en tu inbox

Regularmente publico posts relacionados con desarrollo web, principalmente con Python y Javascript. Suscríbete para recibirlos directamente en tu inbox.

* Campo obligatorio

Hola, ¿te está sirviendo el post?

Recibe mis posts por correo electrónico totalmente gratis. O por lo menos sígueme en Twitter. Me motivas a seguir creando contenido gratuito

* Campo obligatorio