¿Cuál es la mejor estrategia para resolver los problemas de LeetCode?

Hay varias formas de comenzar:

  1. Comience con las preguntas que están etiquetadas como “Fácil”, luego a “Medio”, luego intente “Difícilmente”, de esta manera, podría tener un aumento gradual y no se sentirá súper desanimado o frustrado.
  2. Comience desde una estructura de datos simple, por ejemplo, Array, String, etc. Aproveche al máximo la función de filtro / etiqueta de Leetcode, de esta manera, podría enfocarse en una estructura de datos / algoritmo a la vez, esto lo ayuda a profundizar su comprensión de un dato en particular estructura, entonces podría pasar a la siguiente.
  3. Concéntrese en los problemas etiquetados por una compañía, esto generalmente ayuda mucho y ahorra bastante tiempo para los candidatos que se están preparando para las próximas entrevistas.
  4. Eche un vistazo al tablero de debate, incluso si responde a una pregunta y obtiene AC’ed la primera vez que lo envía. Encontrará muchas soluciones brillantes por parte de los usuarios de su código compartido. Es una comunidad muy vibrante / talentosa / colaborativa.
  5. ¡Manténgase al día y tenga perseverancia!

Además, consulte mi repo fishercoder1534 / Leetcode donde se mantiene una lista completa de soluciones de Leetcode, generalmente las mejores soluciones, bajo licencia Apache 2.0, ¡es más que bienvenido a star / fork / watch!

Por ahora he resuelto más de 150 (más de la mitad) de los problemas. Después de aceptar lo que hago,

  1. Vea el tiempo de ejecución: si no está en el primer 10%, definitivamente hay margen de mejora.
  2. Mira la 3 solución más votada, mira esa estrategia.
  3. CTRL + F para “1ms” o “rápido” y ver si tienen mejoras.
  4. Como truco, publico mi solución también, así que si alguien ve retrasos en mi código o las mejoras necesarias, comentarán 😛

He resuelto alrededor de 200 preguntas sobre leetcode y realmente sentí que tienen una muy buena colección de preguntas. La estrategia que sigo es pensar en una pregunta durante media hora o más o menos. Si se resuelve dentro de ese tiempo, bien, de lo contrario, vea la solución. Incluso si lo resuelve, vea la solución de otros para ver si han resuelto la pregunta de una mejor manera. Existen diferentes categorías y niveles de preguntas. Comience con las fáciles, luego continúe con las medianas. En lo que respecta a los temas, comience con matrices, listas vinculadas y luego pase a las difíciles como árboles y programación dinámica.

Practica resolviendo problemas de Leetcode. Cuanto más practicas, más familiar te resulta. Para comenzar, es posible que desee estudiar las soluciones a problemas anteriores.

También se recomienda que estudies en grupo. Muchos puntos de vista ayudan con muchos globos oculares que miran un problema y proponen muchas posibles vías de solución. Conocer estas rutas de solución también es útil.

More Interesting

¿Escribir un código ordenado para encontrar LCA de dos nodos? y cual es la complejidad?

¿Cómo se preparó para sus entrevistas técnicas de ingeniería de software? Para todos los pasantes e ingenieros de software actuales, cuando recibió un correo electrónico para decirle que tiene una entrevista, ¿cuáles son los pasos que tomó para prepararse?

¿Cuáles son las preguntas más comunes que se hacen en las entrevistas para IAS?

Siendo un estudiante de ingeniería mecánica, ¿cómo me preparo para la entrevista TCS?

¿Qué atributos del proceso de entrevistas de Google son problemáticos, ya sea para los entrevistados de Google o en su impacto en la forma en que otras compañías hacen entrevistas?

Cómo responder paso a paso las preguntas de la entrevista de diseño de su sistema

Cómo descifrar las entrevistas de codificación en línea

Cómo prepararse para una entrevista técnica a través de Skype

¿Cuál es la diferencia entre bibliotecas vinculadas estáticamente y bibliotecas cargadas dinámicamente?

¿Qué temas gráficos debo estudiar para estar adecuadamente preparado para una entrevista con un ingeniero de software de Google? ¿Valdría la pena estudiar también algoritmos para árboles de expansión mínima, flujos de red máximos, coincidencia bipartita, etc.?

¿Cuál debería ser mi plan y enfoque si quiero trabajar con gigantes de alta tecnología como Facebook, Google, Oracle, etc.?

Para las entrevistas en el campus, ¿por qué las empresas realizan entrevistas de codificación en línea en HackerRank o CodeChef?

Cómo reorganizar elementos en una matriz bidimensional dada de enteros positivos para satisfacer cada suma de filas y columnas

¿Las preguntas de entrevistas de software en las principales compañías tecnológicas están específicamente diseñadas para sesgar a los programadores más jóvenes (que aún recuerdan los conceptos teóricos en detalle)?

¿Debo decirle al entrevistador que conozco la solución a la pregunta antes de explicar la solución?