What should I do if it is difficult to solve simple questions?


Obviously, I have learned a lot of knowledge consciously, but when I actually started to do the questions, there was still the dilemma of "one pen, one hand, one Leetcode for one night"? Have you ever had such an experience, the question type is not too difficult, and you can figure it out by reading the solution, but when you do it yourself, you look at the question face to face and have no way to start. Is this dilemma bothering you now or has it been overcome by you?

1. Share your own experience

1.1 Reasons why it is difficult to brush simple questions

There may be several reasons why it is difficult to brush LeetCode simple questions:

Lack of knowledge of algorithms and data structures: LeetCode questions often require a certain understanding and mastery of algorithms and data structures. However, if I am not familiar with these knowledge points or my understanding is not deep enough, it is difficult to solve the problem quickly.

Lack of programming experience: Solving LeetCode problems requires proficiency in programming languages ​​and the ability to write efficient and elegant code. I have been learning programming languages ​​for a short time, and I am not familiar enough with programming languages, and I do not have enough programming experience, so I find it difficult to solve problems.

Difficulty in understanding the topic: Some LeetCode topics have relatively abstract or complex topic descriptions, which require careful reading and understanding of the topic requirements.

Lack of problem-solving ideas and skills: Some LeetCode questions require flexible use of specific problem-solving ideas and skills. I'm not familiar with these ideas and techniques, it may take more time to solve the problem.

Time pressure and psychological pressure: LeetCode questions are often time-limited and need to be completed within the specified time. At the same time, in the process of brushing the questions, you may face a series of difficult questions, which will bring you psychological pressure. These pressures may cause me to struggle when solving problems.

To overcome these difficulties, I can take the following measures:

  • Learning algorithms and data structures: Strengthen the understanding and mastery of algorithms and data structures by learning related books, courses or online resources.
  • Practice programming skills: write more code, improve programming ability and proficiency. Experience can be accumulated through programming exercises, project practice, etc.
  • Read the problem description carefully: Before solving the problem, make sure you fully understand the requirements and limitations of the problem. You can disassemble and analyze the requirements of the topic to help you find a solution to the problem.
  • Learn problem-solving skills and patterns: There are many common problem-solving techniques and patterns on LeetCode, such as double pointers, dynamic programming, backtracking, etc. Learning and mastering these techniques helps me solve problems faster.
  • Decomposition problem: Some problems may be more complex, which can be decomposed into smaller sub-problems and solved step by step. This reduces the size of the problem, making the problem-solving process more manageable and understandable.
  • Deliberate practice and persistence: Brushing LeetCode questions requires continuous practice and persistence. Allocate a certain amount of time every day to brush up questions, and pay attention to thinking and summarizing experience in the process of solving problems, and gradually improve your problem-solving ability.
  • Ask for help and references: If you encounter difficulties or do not understand something, you can ask for help. You can communicate with other problem solvers in the LeetCode discussion area, related forums or communities to find ideas and solutions for solving problems.

In general, the difficulty of brushing LeetCode's simple questions is mainly due to the lack of knowledge of algorithms and data structures, programming experience, and question understanding. Only by learning and practicing and constantly improving your ability can you solve LeetCode problems more easily.

1.2 The importance and purpose of solving this problem

Solving the problem of struggling to brush LeetCode simple questions has importance and multiple purposes.

Improve algorithm and programming skills: LeetCode is a practice platform for algorithms and data structures. By solving LeetCode problems, you can help improve your algorithmic thinking and programming skills. This is important for both study and career development in the fields of computer science and programming.

Prepare for interviews and technical interviews: LeetCode's question types and difficulty are similar to common algorithm questions in technical interviews, so brushing LeetCode can help us better prepare for technical interviews. Solving LeetCode simple questions can increase our ability to solve similar problems in interviews and improve the chances of passing the interview.

Build problem-solving thinking and skills: The topics on LeetCode cover a variety of algorithms and data structures. Solving these problems can help us build problem-solving thinking and skills. We will learn the ability to analyze problems, design algorithms and optimize codes, which is very helpful for solving practical problems and developing complex software.

Exercise persistence and problem-solving skills: brushing LeetCode requires persistence and continuous efforts. By solving puzzles, we face challenges and learn the ability to persevere in problem solving. This will develop our perseverance, patience and problem-solving skills, which are invaluable in life and work.

Learning and broadening the field of knowledge: LeetCode's topic design covers a variety of algorithms and data structures. Solving the topic can help us learn and understand different algorithms and data structures. This will enrich our knowledge of computer science and provide a basis for our study and application in other fields.

In short, solving the problem of struggling to learn LeetCode's simple questions is very important for improving algorithm and programming skills, preparing for interviews, cultivating problem-solving thinking and skills, and exercising persistence and problem-solving skills. By brushing LeetCode, we will gradually improve our skill level and achieve better development in the field of computer science and programming.

2. Analyze possible problems

Learning method: I may not have found a learning method that suits me. Everyone has different learning styles and preferences. Some people prefer to listen to lectures, some prefer to read books, and some prefer to practice. Know your own learning preferences and try different learning methods to find the way that suits you.

Attitude to Learning: I may lack a proactive learning attitude, interest or drive in learning. Re-examine the meaning and goals of learning, and set clear learning goals for yourself. Find practical application scenarios related to the learning content to cultivate interest and motivation.

Knowledge reserve: I may lack the necessary prerequisite knowledge or foundation. Review prior knowledge learned and fill in missing fundamentals. Knowledge can be enhanced by taking courses, reading textbooks, or referring to online resources.

Study plan and time management: I may not have made a reasonable study plan or lacked effective time management. Make a clear study plan and allocate time reasonably. Make sure to give enough time to study and set reasonable goals and milestones.

Learning confusion and difficulty: I may encounter some learning confusion and difficulty, and I don't know how to solve it. When in doubt, it is important to seek help. Answers can be sought from teachers, classmates, mentors, or online communities. In addition, actively carry out independent study and research, and gain a deep understanding of learning difficulties by reading relevant literature, reference books and tutorials.

Learning feedback and assessment: I may not have received learning feedback and assessment in a timely manner, and I do not know my learning progress and problems. Find a study partner or mentor for mutual assessment and feedback. Take practice and practice exams to assess your learning and identify areas for improvement.

In short, by examining my own learning status and subject mastery, and exploring possible learning obstacles and confusion, it can help me determine the root of the problem. Learning methods, attitudes, knowledge reserves, etc. may be the cause of learning difficulties. Developing a learning method that suits you, adjusting your learning attitude, strengthening your knowledge reserve, making a learning plan and time management, seeking help and solving learning confusion, and obtaining learning feedback and evaluation are all effective ways to solve learning obstacles and confusion.

3. Decompose or build a mind map according to the problem

Breaking down problems, making mind maps and sharing clear thinking is one of the effective ways to solve learning disabilities and confusion. Below I briefly describe the specific steps and applications of these methods:

Break down the problem:

  • Define the goal: Identify the problem or goal to be solved.
  • Split sub-problems: Split a large problem into smaller, more specific sub-problems.
  • Organizational relationship: Determine the dependencies and logical relationships between sub-problems.
  • Prioritization: Determine the order and priority of solving sub-problems.
  • Solve sub-problems: Solve sub-problems one by one, and finally get the overall solution.

Make a mind map:

  • Central Topic: Write the topic or question in the center of your mind map.
  • Branch association: Branches extend from the central topic, each branch representing a related concept or sub-question.
  • Add details: Add more branches under each branch, detailing related concepts or sub-questions.
  • Label relationships: Use arrows, lines, colors, etc. to label the relationships and connections between branches.
  • Summary: draw general conclusions or solutions through the overall structure of the mind map and the relationship between branches.

Share clear thinking:

  • Choose the right scene and audience: According to the complexity of thinking content and the background of the audience, choose the right sharing scene and audience.
  • Articulate: Express thoughts and ideas in clear language, in a concise and concise manner.
  • Use examples and diagrams: use examples, cases or diagrams to visualize abstract thinking content, making it easier to understand.
  • Logical structure: Organize the logical structure of thinking content, so that the audience can understand your thinking in a certain order and logic.
  • Encourage interaction and discussion: During the sharing process, audiences are encouraged to ask questions, discuss and share their views, promoting deeper thinking and communication.

These methods can help us better clarify our thinking, solve problems and share knowledge. According to the specific learning tasks and situations, we can choose the appropriate method for application. Continuous practice and application of these methods will gradually improve our thinking clarity and expression ability.

4. Share and introduce the useful websites for brushing questions

The following are suggestions and introductions for some websites for brushing questions, as well as suitable people:

LeetCode (leetcode.com) : LeetCode is one of the most popular websites for brushing questions, providing a large number of algorithm and data structure questions. It is suitable for those who prepare for interviews, improve algorithm and programming skills. The difficulty of the questions covers a wide range, ranging from simple to difficult, which can help people of different levels improve their problem-solving ability.

HackerRank (hackerrank.com) : HackerRank provides a variety of programming topics, covering algorithms, data structures, mathematics, artificial intelligence and other fields. It's for those who want to hone their programming skills, learn new techniques, and participate in programming competitions. It also offers some programming challenges specifically geared towards corporate recruiting.

CodeSignal (cosignal.com) : CodeSignal is a quiz-writing platform that focuses on interview preparation. It provides many practical interview questions, as well as a dedicated interview simulation environment and assessment tools. CodeSignal is suitable for those who prepare for technical interviews and improve their interview skills.

TopCoder (topcoder.com) : TopCoder is an established platform for programming competitions and brushing questions, providing various algorithm competitions and programming challenges. It is suitable for those who are interested in programming competitions and want to exercise their ability in algorithmic competitions. TopCoder's questions are difficult and have high requirements for algorithms and data structures.

Codewars (codewars.com) : Codewars offers many programming challenges and practice questions aimed at improving programming skills. Its topics cover multiple programming languages ​​and difficulty levels, and are suitable for people of all programming levels. Codewars also provides community interaction, where you can communicate and discuss problem-solving ideas with other users.

The above-mentioned question-writing websites all have their own characteristics and advantages. Choosing a question-writing website that suits you depends on your personal learning goals and needs. Whether it is preparing for interviews, improving programming skills, exercising algorithm competition skills or simple programming exercises, these quiz sites can provide you with corresponding questions and learning resources. According to your own needs, choose a website that suits you for brushing questions, and combine it with other learning resources and methods to more effectively improve your programming and problem-solving abilities.

Guess you like

Origin blog.csdn.net/wzk4869/article/details/131569067