Superar el dilema de "un bolígrafo, un par de manos, un Leetcode para una noche": mis problemas y sugerencias


inserte la descripción de la imagen aquí

Una palabra de energía positiva todos los días.

Si quieres levantarte, hay dos cosas, es decir, debes ser un águila o un reptil. - Balzac

prefacio

Como estudiante o trabajador de informática, a menudo nos enfrentamos a varios problemas de algoritmos y programación, y Leetcode, como plataforma centrada en problemas de algoritmos, ha atraído cada vez más atención y uso. Sin embargo, a veces nos encontraremos con una situación así: obviamente hemos aprendido mucho conocimiento, pero cuando realmente hacemos las preguntas, nos sentimos perdidos y no sabemos cómo empezar. A continuación, compartiré mis molestias y algunas sugerencias para resolver la situación.

  1. Determina si tus conocimientos básicos son suficientes

Si tiene problemas para hacer las preguntas, lo primero que debe considerar es si tiene suficientes conocimientos básicos. Si no está familiarizado con cierta estructura de datos o algoritmo, se recomienda que aprenda primero los conocimientos relevantes. Dominar los conceptos básicos es el primer paso para resolver problemas con éxito.

  1. Elige el tema correcto

Una vez que haya dominado los conceptos básicos, debe elegir el tema apropiado para hacerlo. Elegir el tema correcto puede mejorar su confianza en sí mismo y facilitarle el dominio de las habilidades e ideas para resolver problemas. Se recomienda comenzar con preguntas fáciles y aumentar gradualmente la dificultad.

  1. lee atentamente el tema

Antes de comenzar a resolver el problema, debe leer la pregunta detenidamente para comprender el significado de la pregunta y los requisitos para resolver el problema. Si no comprende claramente el problema, será difícil llegar a la solución correcta. Puedes dibujar algunos diagramas en papel para ayudarte a entender el problema.

  1. encontrar el tren de pensamiento correcto

Después de leer el tema, debe encontrar la forma correcta de resolver el problema. Puede combinar el conocimiento que ha aprendido, analizar las características del problema y la dificultad de resolverlo, y encontrar un camino óptimo para resolverlo.

  1. no te rindas

No se desanime si encuentra dificultades para resolver el problema. Puede disminuir su ritmo, analizar cuidadosamente los problemas y buscar avances. Si aún no puede resolver el problema, puede pedir ayuda a otros o tratar de encontrar otras formas de resolver el problema.

En resumen, para resolver las dificultades encontradas al hacer las preguntas, es necesario tener conocimientos básicos y elegir las preguntas adecuadas. Piense cuidadosamente al leer las preguntas para encontrar la forma correcta de resolver el problema. Lo más importante es no darse por vencido, seguir intentándolo y creer que puede superar las dificultades y resolver los problemas con éxito.

razón

Los principiantes son los más propensos a encontrar este tipo de problemas. De hecho, la razón principal es que su capacidad práctica no es fuerte. Escribir código es un proceso que hace perfecto, así que no importa cuán simple sea el código, no se quede en la etapa de pensar, pero comienza con eso. Ven y haz tapping y haz que suceda. Por ejemplo, cuando entramos en contacto por primera vez con la clasificación, es fácil de entender, pero no todos pueden escribirlo. El tipo de burbuja es el siguiente:

void BubbleSort(int* arr, int size)//冒泡排序
{
	for (int i = 1; i < size; i++)
	{
		int flag = 0;
		for (int j = 0; j < size - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				Swap(&arr[j], &arr[j + 1]);
				flag++;
			}
		}
		if (flag == 0)
		{
			break;
		}
	}
}

sugerencia

Esto sucede mucho, especialmente a los novatos, cuando aprenden a programar o resolver problemas. Aquí hay algunas sugerencias para ayudarlo a superar este dilema:

  1. Primero comprenda el significado de la pregunta: antes de comenzar a resolver el problema, lea la pregunta detenidamente y asegúrese de comprender el significado de la pregunta. Use sus propias palabras para resumir los requisitos del tema, a fin de evitar una dependencia excesiva de las plantillas y ejemplos de programas, a fin de comprender mejor las ideas para resolver problemas.

  2. Familiaridad con algoritmos o estructuras de datos comunes: antes de escribir una solución, debe asegurarse de estar familiarizado con el uso de algoritmos y estructuras de datos comunes. Por ejemplo, listas enlazadas, pilas, colas, funciones recursivas, etc. Si no está seguro acerca de estos puntos, tómese el tiempo para revisar primero los materiales de estudio relevantes.

  3. Enumere la solución: antes de comenzar a codificar, puede intentar enumerar la solución en papel borrador u otras herramientas. Este enfoque puede ayudarlo a pensar mejor acerca de sus ideas para resolver problemas y evitar errores innecesarios.

  4. Escribir código: cuando tenga una solución, puede comenzar a escribir código. Al escribir código, asegúrese de seguir la experiencia previa y las reglas conocidas de algoritmos y estructuras de datos, y evite comenzar desde cero.

  5. Depuración de su código: el paso final es verificar que el código que ha escrito cumpla con los requisitos y corrija cualquier error. De vez en cuando, es posible que deba depurar su código para averiguar por qué no funciona.

En general, para superar el dilema de "un bolígrafo, una mano, un Leetcode para una noche", debe hacer tantas conexiones como sea posible, resumir, revisar lo que ha aprendido, dominar los algoritmos y la estructura de datos de uso común. Persista en pensar en la práctica y use borradores, dibujos y otras herramientas para ayudarlo a comprender el problema y resolverlo. ¡vamos!

propia experiencia relacionada

Como programador, a menudo encuentro situaciones en las que necesito repasar preguntas simples. Sin embargo, a pesar de la aparente simplicidad de estos temas, a menudo tuve problemas. Me gustaría compartir mis propias experiencias y sentimientos al respecto.

En primer lugar, creo que la razón de este sentimiento es la falta de aprendizaje y formación sistemáticos. Al hacer preguntas sencillas, a menudo sentimos que dominamos los algoritmos básicos y las estructuras de datos, pero, de hecho, muchas veces esto es solo comodidad psicológica. Para dominar realmente este conocimiento se requiere un estudio y una formación más sistemáticos y profundos.

En segundo lugar, también podemos caer en la trampa de la "adicción a las preguntas". Repasar preguntas simples puede darnos una sensación de logro rápidamente, pero esta sensación desaparecerá pronto. Además, aclarar las preguntas no es un objetivo final, es solo un medio para que mejoremos nuestras habilidades. Si solo hacemos los cuestionarios por el hecho de hacerlos, entonces podemos terminar en un bucle sin fin, perdiendo mucho tiempo y energía.

Por lo tanto, es muy importante resolver el problema de luchar con preguntas simples. Necesitamos aprender y dominar algoritmos básicos y estructuras de datos de manera sistemática, y también debemos asegurarnos de tener un objetivo y un plan de aprendizaje claros. Necesitamos darnos cuenta de que eliminar las preguntas es solo un medio para mejorar nuestras habilidades, no nuestro objetivo final.

Al final, lo que quiero decir es que resolver este problema no es solo para que podamos repasar mejor las preguntas, sino, lo que es más importante, para nuestro propio crecimiento y desarrollo. Solo aprendiendo y mejorando constantemente podemos lograr mayores logros y desarrollo en nuestras carreras.

problema potencial

  1. Problemas del método de aprendizaje: baja eficiencia de aprendizaje, mala memoria y otros problemas, puede intentar usar diferentes métodos de aprendizaje, como hacer planes de estudio, usar mapas mentales, enfocarse en la repetición y el resumen, etc.

  2. Problemas de dominio de la materia: es posible que deba fortalecer su comprensión de ciertos conceptos, mejorar su dominio de las matemáticas o el chino, etc. Puede optar por participar en escuelas intensivas o autoaprendizaje a través de varios canales.

  3. Problemas de actitud de aprendizaje: falta de motivación para aprender, procrastinación habitual, etc., puede usar medidas de incentivo, como establecer metas y mecanismos de recompensa para usted mismo, y mejorar la eficiencia del aprendizaje bajo la supervisión de amigos o familiares que lo rodean.

  4. Problema de reserva de conocimiento: puede deberse a que la base de aprendizaje anterior no es lo suficientemente sólida. Se recomienda complementar el conocimiento previo al aprendizaje a tiempo, como consultar libros y materiales relevantes y buscar ayuda de maestros o compañeros de clase.

Cabe señalar que los problemas anteriores pueden no existir solos o pueden afectarse entre sí, por lo que es necesario considerar de manera integral y tomar medidas integrales al resolver los problemas.

Descomponga o construya un mapa mental basado en el problema

Cómo desglosar el problema:

  1. Determine el núcleo del problema: encuentre la raíz del problema, capte el núcleo del problema y luego profundice uno por uno.
  2. La forma de hacer preguntas: divida el problema en varios problemas pequeños y luego considere la correlación y la influencia entre cada problema pequeño.
  3. Lista de posibilidades: enumera todas las causas posibles y luego descártalas una por una.

Haz un mapa mental:

  1. Decide el tema: Decide el tema del mapa mental que quieres hacer, como el problema que quieres resolver o el contenido que quieres mostrar.
  2. Enumere palabras clave: De acuerdo con el tema, enumere palabras clave relacionadas con él.
  3. Conectar palabras clave: coloque palabras clave en el centro del mapa mental y luego conecte otras palabras clave a su vez para crear ramas relacionadas con el tema.

Comparta maneras de aclarar su pensamiento:

  1. Integre pensamientos: ordene sus pensamientos, asegúrese de que la lógica sea clara y organizada, y luego compártalos con los demás.
  2. Use diagramas: use diagramas, tablas, etc. para mostrar sus ideas y facilitar que otros las entiendan.
  3. Dé ejemplos: use casos o ejemplos para ilustrar su pensamiento y dar a otros una comprensión más profunda de su pensamiento.

Comparta un sitio web útil para preguntas de cepillado y preséntelo

Hay muchos sitios web para preguntas de cepillado. Aquí hay algunos sitios web útiles y los presento:

  1. LeetCode (https://leetcode.com/): este es un sitio web muy popular para preguntas de cepillado. Contiene una gran cantidad de preguntas de algoritmos y estructuras de datos, adecuado para principiantes y programadores experimentados. También proporciona un área de discusión y soluciones de problemas para facilitar que los alumnos se comuniquen y aprendan.

  2. HackerRank (https://www.hackerrank.com/): este es otro sitio web muy conocido para preguntas de cepillado, no solo para temas de algoritmos y estructuras de datos, sino también para otros temas relacionados con la informática. Sus temas varían en dificultad y son adecuados para estudiantes de diferentes niveles.

  3. Codeforces (https://codeforces.com/): este sitio web se enfoca en competencias de algoritmos y brinda temas interesantes que pueden ejercitar las habilidades de pensamiento, codificación y colaboración de los participantes. Codeforces es una gran plataforma para buscar una programación competitiva.

  4. Codewars (https://www.codewars.com/): este es un sitio web de aprendizaje de programación desafiante que proporciona temas en una variedad de lenguajes de programación, que se pueden proyectar según el nivel de dificultad, adecuado para estudiantes de diferentes niveles. Los estudiantes pueden ganar créditos y comparar calificaciones con otros usuarios aquí.

Estos sitios web, sobre todo, brindan una variedad de temas y ejercicios que pueden ayudar a los estudiantes a mejorar sus habilidades en algoritmos y estructuras de datos, y ejercitar su pensamiento de programación y habilidades prácticas para resolver problemas.

Un sitio web útil para aclarar preguntas es LeetCode, que es una plataforma de programación en línea para programadores e ingenieros de software. Proporciona miles de preguntas de algoritmos y preguntas de programación, con el objetivo de ayudar a los usuarios a mejorar sus habilidades de programación y resolver problemas prácticos. Aquí hay una introducción al sitio:

  1. Temas de alta calidad: los temas de LeetCode provienen de entrevistas con las principales empresas, cubren una variedad de algoritmos y estructuras de datos, cubren una amplia gama de contenido y aumentan gradualmente la dificultad.

  2. Entorno de programación en línea amigable: LeetCode proporciona un conjunto completo de entorno de programación en línea, que es conveniente para que los usuarios practiquen.Su interfaz IDE es refrescante, los usuarios pueden elegir su propio idioma y los códigos que escriben deben pasar los casos de prueba.

  3. Compartir ideas de resolución de problemas: muchos usuarios de LeetCode han contribuido con sus propias ideas y métodos de resolución de problemas. También puede leer directamente las soluciones de problemas, lo que puede ayudar a los usuarios a comprender y resolver problemas más rápido.

  4. Clasificación de temas similares: LeetCode clasifica temas similares. Si los usuarios no piensan en ello en el proceso de resolución de problemas, pueden encontrar temas similares a través de la clasificación y ampliar su pensamiento.

Este sitio es adecuado para personas interesadas en algoritmos y estructuras de datos, y también para quienes se están preparando para entrevistas de TI. Si quieres mejorar tus habilidades de programación, LeetCode es una muy buena opción.

posdata

  1. El proceso de aprendizaje de algoritmos es un proceso de mejora. No creas que al principio puedes dominar todo el contenido a la vez. Sé paciente y tómate tu tiempo.

  2. Antes de hacer las preguntas, debe leer las preguntas cuidadosamente, comprender los requisitos y restricciones de las preguntas y determinar las ideas y métodos para resolver las preguntas.

  3. Los ejercicios deben ser planificados, se recomienda comenzar con preguntas sencillas y aumentar gradualmente la dificultad, al mismo tiempo, se debe repasar constantemente los contenidos aprendidos anteriormente.

  4. Durante el proceso de aprendizaje, puede consultar algunos excelentes materiales de aprendizaje, videos o foros, y leer más sobre las soluciones o ideas de otras personas, lo que ayudará a su capacidad de resolución de problemas.

  5. Lo más importante es la persistencia y la confianza en sí mismo, haga más preguntas prácticas, pruebe diferentes métodos y crea que puede superar las dificultades.

Reimpreso de: https://blog.csdn.net/u014727709/article/details/131744812
bienvenido a comenzar, bienvenido a comentar, bienvenido a corregir

Supongo que te gusta

Origin blog.csdn.net/u014727709/article/details/131744812
Recomendado
Clasificación