Многие программисты задавали один и тот же вопрос: «Как стать лучше в CP, или как освоить DSA, или как улучшить навыки решения проблем».

И единственное решение всегда одно и то же: «ПРОДОЛЖАЙТЕ ПРАКТИКУ».

Хотя это правильно, но практика случайного вопроса без анализа никогда не поможет вам.

В первые дни я выбирал случайные вопросы из Codechef, Codeforces, SPOJ, Leetcode, HackerRank и никогда не оглядывался назад на вопрос, который я решил, и всегда отставал от чисел и рангов в соревнованиях. Но недавно некоторые изменения в привычках резко помогли стать лучше и добиться определенного прогресса. Вот они:-

  1. Тематическое решение проблем: помогает понять шаблоны или подход. Для меня DP и Graph самая сложная тема, здесь leetcode помогает мне освоиться в этих темах. Я очень рекомендую его, так как он помог мне лучше понять и визуализировать DP и Graph. После того, как я освоился с этой темой, я начал решать вопросы, которые задавали в MAANG.
  2. Отметить важные вопросы. Создайте лист Excel и отметьте те вопросы, которые показались вам хорошими. Я составил список вопросов (по теме) каждого уровня сложности, и после их решения я пересматриваю их раз в неделю, что помогает мне обрести уверенность. Это также помогает мне думать и анализировать один и тот же вопрос с другим подходом.
  3. Будьте последовательны настолько, насколько это возможно:- «Постоянство — ключ к успеху». Решение не менее двух задач в день поможет вам улучшить построение логики и стратегию решения проблем. Участвуйте в конкурсах как можно чаще, это поможет вам стать более конкурентоспособным и поможет быстрее решить проблему.

И, наконец, продолжайте верить и продолжайте перестраивать свои стратегии и привычки, пока не добьетесь прогресса!

Удачного кодирования :)