Revise los archivos de problemas, esa es la mejor manera de hacerlo. Los problemas fáciles en cualquier plataforma prueban su capacidad de escribir código libre de errores en el primer intento donde normalmente funciona un enfoque de fuerza bruta y puede obtener una solución en [matemáticas] O (n) [/ matemáticas] o [matemáticas] O (n ^ 2) [/ math] al menos en HackerRank.
Los problemas de clasificación normal son normalmente DP, teoría de grafos o estadísticas, las estadísticas son normalmente las matemáticas necesarias para resolver un problema, por ejemplo, el problema a continuación.
Utilicé una lista circular doblemente vinculada y mantuve un puntero hacia adelante y un puntero hacia atrás, cada vez que el punto T está en el intervalo, sé que puedo alcanzar el punto t en k segundos. Este problema requería una estructura de datos correcta además del algoritmo correcto y se puede resolver en [matemáticas] O (n) [/ matemáticas]
- Cómo calcular la O grande de: for (int k = 2; k <floor (sqrt (n)); k ++)
- ¿Qué es un algoritmo que calculará si se puede pagar la cantidad [math] n [/ math] si tenemos un suministro ilimitado de monedas para cada valor entre [math] a [/ math] y [math] b [/ math] ?
- ¿Qué es un algoritmo para aprender nuevos lenguajes de programación?
- ¿Cómo puedes visualizar algoritmos?
- ¿Crees que el rendimiento de Renaissance Capital puede estar vinculado a algoritmos que también se usan en el reconocimiento de voz?
HackerRank
La mejor manera es hacer series de problemas anteriores y revisar su desempeño después de una competencia en vivo y simplemente seguir adelante, irá apareciendo poco a poco.
La mejor manera es resolver los problemas por sí mismos.