Normalmente me canso después de resolver 2 – 3 problemas algorítmicos en Leet Code. ¿Qué debo hacer para resolver más problemas diariamente?

No soy un experto en productividad cuando se trata de codificación, pero puedo ofrecerle algunas ideas que he utilizado para impulsarme a comenzar a hacer más problemas algorítmicos:

  1. Intenta hacer diferentes problemas en diferentes idiomas. A menudo cambio de resolver un problema en Java a resolver un problema diferente en Swift. Los diferentes tipos de desarrollo pueden mantener su cerebro funcionando y trabajando más duro.
  2. Tome descansos de 15 minutos entre problemas. Esto es solo un consejo de estudio general. Trabajaré en un problema durante 45 minutos a una hora y luego tomaré un freno durante 15 minutos para comer un refrigerio y ver un video de YouTube. Una vez que finaliza mi video, vuelvo a mi problema o comienzo uno nuevo. También me aseguraría de que 1. se mantenga hidratado y 2. haga ejercicio (incluso si es solo levantarse y caminar por su casa). Creo que estas dos cosas pueden ayudar a despejar tu mente.
  3. Desarrolla tu autodisciplina. Este es uno de los rasgos más importantes que uno puede adquirir para tener éxito en casi cualquier cosa. Algunas de las personas más inteligentes y poderosas del mundo (sí, estoy pensando en Mark Zuckerberg) son tan exitosas porque son extremadamente autodisciplinadas. Hay muchas maneras de comenzar a mejorar esto. Una manera simple es comenzar un buen hábito (por ejemplo, lavarse la cara antes de acostarse) y hacerse mantener ese hábito.
  4. Recompénsate por hacer más. Oye, ¿hiciste 4 problemas LeetCode hoy en lugar de 3? Ve a tomar un par de galletas de chicas de tu despensa, te lo has ganado. Pero al día siguiente si tiene 4 problemas, tal vez solo tome una galleta porque hizo lo mismo que ayer (y asegúrese de hacer el ejercicio que dije antes).

Es mejor preparar un tiempo corto durante un período largo que preparar un tiempo largo durante un período corto.

De 2 a 3 problemas al día es un buen progreso, pero si desea pasar más tiempo practicando problemas, intente lo siguiente:

  • Invita a un amigo a que te acompañe, o únete a una reunión como Programming Interview Prep. Practicar con alguien es más divertido y menos agotador.
  • Cuando encuentre un problema especialmente desafiante, márquelo mentalmente y pase a la siguiente pregunta. Piense en el problema cuando hace algo menos exigente intelectualmente, como esperar en un restaurante.
  • Divide el tiempo que pasas en Leetcode en diferentes partes del día. Trabajar en un tramo es agotador.

Done un dólar al día: Mohit, de 6 años, necesita su apoyo para combatir el trastorno sanguíneo

Tienes que entrenar como un atleta, sistemáticamente y con disciplina, recomiendo CRACKING la ENTREVISTA DE CODIFICACIÓN y la técnica sistemática de resolución de problemas [1]

Los problemas en LeetCode varían en dificultad y algunos necesitan “saltos creativos” para resolverlos de manera eficiente, pero la mayoría de ellos exhiben soluciones similares, por ejemplo, los problemas de la ventana de ejecución , donde tiene una ventana de longitud K y la mueve a lo largo de una secuencia de N objetos y tienen que calcular una medida. Así:

  • resuelva por analogía : “fragmente” la idea general de soluciones anteriores y aplíquelas a problemas similares. Sin embargo, es un problema de huevo de gallina, porque necesita algunas soluciones en su bolsa de conocimiento para poder hacer analogías. ¡Sigue adelante!
  • encuentre su propio ritmo , por ejemplo, configure 25 minutos para encontrar una solución de pseudocódigo. Si no, mira las etiquetas y vuelve a intentarlo durante 20 minutos. Si no, eche un vistazo a las discusiones. Si aún es demasiado difícil encontrar una solución, le falta algún conocimiento que le permita resolverla. Tenga en cuenta el problema, déjelo por ahora y vuelva a él más adelante.
  • Tómese un descanso después de tal sesión y luego haga la siguiente.
  • Tómese el tiempo para evaluarse :
    • Anote los errores comunes de implementación.
    • construya un repertorio de atajos de solución: por ejemplo , el vector / mapa de frecuencia se usa mucho en problemas de cadena, o use esta técnica para resolver los problemas de programación dinámica [2].
  • recompénsese : es difícil incluso para los atletas motivarse, si su recompensa es, por ejemplo, oro cada 4 años en los Juegos Olímpicos, así que establezca objetivos intermedios, por ejemplo, resuelva 20 problemas / semana.
  • Notas al pie

    [1] http: //www.crackingthecodinginte

    [2] Respuesta de Michal Danilák a ¿Hay buenos recursos o tutoriales para programación dinámica (DP), además del tutorial de TopCoder?

    La práctica lo hace perfecto.

    De una manera más corta, cuanto más practiques, mejor serás.

    No hay ningún atajo.