Cómo aumentar mi velocidad de pensamiento mientras hago codificación

Honestamente, en la vida real está bien ser un poco lento (¡no significa que te tomes días para pensar!). En la resolución de problemas de la vida real, el tiempo no es una limitación muy grande, a diferencia de la programación competitiva.

Sin embargo, si quieres mejorar la velocidad:

  • Práctica. Cuanto más practiques, más rápido te volverás. Pregúntale a Usain Bolt sobre esto
  • Revisa tus viejas soluciones junto con los problemas. Esto te ayudará a realizar tu propio progreso.
  • Reutilizar código antiguo. A menudo tendemos a pensar en la implementación cuando pensamos en soluciones. Por ejemplo, si tiene una clase de gráfico en C ++, BFS debería estar solo a una llamada de función durante la implementación. Deberías estar pensando en tu trabajo de manera similar. Sigue construyendo sobre tus abstracciones.
  • Concéntrese en resolver problemas en un conjunto de diferentes subproblemas para los que ya sabe la respuesta.
  • Trabajo en equipo. Cuando un miembro del equipo piensa más rápido que tú, mejorarás.

No hay nada por lo que estar deprimido. Está totalmente bien dedicar tiempo a resolver preguntas e incluso no poder resolverlas en absoluto. Aprenderás a pensar en las soluciones más rápido con la práctica. Usted está en su primer año de B.Tech y ya puede hacer todo esto, lo que probablemente sea una idea lejana para muchos de sus compañeros. Así que dése un poco de crédito y no se deprima cuando no pueda resolver una pregunta. A medida que vayas progresando, las preguntas se harán más difíciles y lo mejor que puedes hacer es simplemente practicar y te irá bien.

Si tienes alguna otra consulta hazme un ping.

DORMIR. COMER. CÓDIGO. REPETIR.

Tuve la tentación de decir simplemente hacerlo más (resolver problemas, trabajar en proyectos completos, etc.) y terminar con eso, porque eso te llevará por un largo camino.

Pero otra gran parte de esto es también tratar de no cometer el mismo error tres veces.

Eso es tan simple como una heurística para el cambio al que puedo resumir. Si te encuentras haciendo algo una y otra vez, considera si eso es una necesidad. Si puede automatizarlo o cambiar su proceso, entonces ese no es el caso.

Esto puede ser depuración, esto puede ser errores específicos que ve, pruebas específicas que necesita ejecutar, problemas estructurales específicos que encuentra, etc.

Casi toda metodología se reduce a esto.

  • Cuando te das cuenta de que tienes dificultades para recordar los nombres de las variables una y otra vez, empiezas a elegir mejores nombres cada vez.
  • Cuando te encuentras copiando y pegando trozos de código una y otra vez, lo conviertes en una función.
  • Cuando se encuentra luchando con el mismo error una y otra vez, determina por qué ocurrió y encuentra una manera de evitar que lo cause en el futuro. O lo grabas para que puedas resolverlo fácilmente si lo encuentras de nuevo.
  • Cuando tiene dificultades para trabajar con múltiples arreglos de datos para rastrear una sola unidad, en su lugar, lo convierte en un objeto.
  • Cuando usted u otras personas pasan horas de tiempo realizando pruebas a mano y perdiendo cosas una y otra vez, escribe pruebas de unidad. Entonces los automatizas.

Asi es como funciona. Mejoras tu proceso. Tu abstracto Usted racionaliza. Eso reducirá dramáticamente tu tiempo. Cuando veo personas que luchan para hacer algo o incluso para usar una PC, casi siempre es porque lo hacen de una manera ineficiente cuando hay rutas disponibles más eficientes.

Si se encuentra arrastrando el mouse por todos lados y se desplaza a través de los menús de clic derecho, busca los atajos de teclado.

Todo es lo mismo. Intenta no repetir los mismos errores … los mismos pasos tediosos que se interponen entre usted y la ejecución de su plan.

La belleza de estas máquinas es que rara vez tienes que hacerlo. Casi siempre hay formas de mejorar. Muchos para la mayoría de ellos bastante manejables y factibles.

Entonces la velocidad en la que piensas no importará mucho. Estarás haciendo todo más eficientemente. La programación y el trabajo con computadoras en general son un mundo en el que una persona puede ser varias veces más eficiente que otra al tomar los atajos correctos y realizar las mejoras de proceso correctas.

Aprovecha ese hecho.

Aquí está mi recomendación:

  • Beber café. No demasiado hasta el punto en que empiezas a temblar. Pero bebe lo suficiente para sentirse “atado” y alerta. Esto ayudará.
  • Pase mucho tiempo después y antes de comenzar a trabajar en la codificación, pero enfóquese en problemas más simples. Realmente clavar la sintaxis. Comprenda realmente cómo hacer problemas básicos y simples, pero concéntrese en hacerlo de manera más rápida, mejor y más eficiente.
  • Aprende de otros gigantes del rendimiento: los atletas. Perforarán procedimientos simples (es decir, cómo iniciar una carrera) una y otra vez. Hasta que se convierte en memoria muscular para ellos. El mismo tipo de cosas. Comience con una tarea de programación básica y profundice en dónde puede programar una solución en su sueño.
  • Una vez que hayas bajado lo básico, pasa a algo un poco más difícil.
  • Cuando quise dominar la fotografía, la tomé como una misión personal obsesiva para aprender todo lo que pudiera sobre ella. Leí y releí los manuales. Practiqué como loca. Y tomé decenas de miles de imágenes, hasta que solo pude ver una escena, y ser capaz de disparar el f / stop, la velocidad de obturación ISO y otras configuraciones sin siquiera tener que pensar.
  • Un día, hará clic y encontrará que sabe un poco más de lo que cree que sabe.
  • Y tomar café. Mucho y mucho cafe.

¡Espero que esto ayude! – Jeff

Gracias A2A.

La cuestión es que, en el mundo real, no es necesario tener un pensamiento súper rápido al codificar. Está bien ser un poco lento. Al hacerlo, puede pensar en varias formas en que el programa podría fallar.

Pero viendo sus antecedentes, puedo sugerir que no piense en completar el problema en el límite de tiempo, en lugar de intentarlo, y una vez que lo haya hecho, intente hacerlo de diferentes maneras. Y una vez que haya completado alrededor de 300-400 preguntas, automáticamente comenzará a pensar en el algoritmo que podría usarse en el problema dado.

Por lo tanto, para responder a su pregunta, le sugiero que practique mucho al principio sin límite de tiempo y después de cierta experiencia con el límite de tiempo.

Espero haberte ayudado.

Aclamaciones.

  • Intenta resolver problemas lógicos en tu mente.
  • Hacer matemáticas mentales (acelera tus procesos cognitivos)
  • Entrene su memoria de trabajo (le ayuda a tener en cuenta y elaborar más información en las unidades)
  • Aumenta la confianza con el idioma que estás utilizando
  • Dormir (la cantidad correcta de sueño, de 7 a 8 horas, le permite estar más concentrado durante el día)

Trate de resolver preguntas de entrevista.
Son realmente útiles para desarrollar su habilidad para codificar de la manera más eficiente posible.

La práctica diaria nos da una lógica optimista para los problemas de codificación. La codificación es similar a la matemática, por lo que necesitamos practicar y entrenar en los pensamientos donde nos quedamos.

He practicado mucho en el rango de Hacker y en el Bit de Entrevista, ambos son sitios impresionantes,
Trate de participar en algún concurso de codificación, seguramente su velocidad de codificación será mejorada.
Buena suerte
Feliz codificacion !!!

Pocos años atrás, yo también estaba enfrentando el mismo problema. sin embargo aumenté por la velocidad de codificación siguiendo las prácticas siguientes:

  1. Lo más importante: consulte / lea el código de proyecto existente y el ejemplo de ejemplo y compruebe qué tipo de algoritmo / patrón se ha implementado y por qué.
  2. Intente cambiar el patrón / algoritmo existente implementando uno diferente y vea cómo se vuelve difícil de manejar. esto eventualmente hará que su mente esté lista para finalizar qué algoritmo / patrón / técnica debe usarse en un escenario particular.
  3. Practica más.

Estas preguntas cognitivas siempre terminan teniendo respuestas decepcionantes. He buscado una respuesta a esta pregunta, pero al final esto es lo que funciona:

  • Si eres principiante, practica y estudia mucho. Estudiar te expone a patrones, y la práctica los refuerza. Cuanto más tiempo pases absorto en la programación, más fácil será.
  • Si tienes experiencia, se trata de tu estado físico y mental. Tengo cuidado con lo que como mientras estoy en el trabajo. Evito demasiado azúcar y nunca me salto las comidas. Por lo general, soy bastante bueno para dormir lo suficiente la noche anterior. Tomo descansos regulares, incluyendo caminatas largas, para mantener mi cabeza fresca.

Para mí, la velocidad es solo un problema si me aflojo una de las cosas en la segunda bala. Mi mayor problema es evitar el desperdicio de energía. ¿Cómo puedo configurar bucles de retroalimentación regulares para mantenerme moviéndome en la dirección correcta de principio a fin? Estoy mucho más interesado en la eficiencia de la programación que en la velocidad.

Resuelve algunos problemas de aptitud. Principalmente, puedes practicar Aptitude + Coding en HackerRank Hackerearth.com