LeetCode е най-добрата платформа, която да ви помогне да подобрите уменията си, да разширите знанията си и да се подготвите за технически интервюта. Но проблемът е, че забравям решението и триковете след известно време. Трудно е да запомните решенията. Но след като реших някои проблеми на leetcode, се опитвам да идентифицирам модела за решаване на проблемите за подготовката на техническите интервюта.

Има някои предложения коя техника или алгоритъм трябва да приложите при какъв тип проблеми. Прочетете внимателно проблема и се опитайте да идентифицирате естеството на входа/изхода и приложете техниката съответно:

  1. Аковходният масив е сортирани има големи шансове проблемът да бъде решен чрез:
  • Алгоритъм за двоично търсене
  • Подход с два указателя

2. Ако проблемът е свързан с пермутации/комбинации/подмножества,тогава можете да помислите за:

  • Подход за обратно проследяване
  • Алгоритъм за задаване на мощност

3. Ако даденият вход е дърво или графика, тогава:

  • DFS — Алгоритъм за първо търсене в дълбочина
  • BFS — Алгоритъм за първо търсене в ширина

4. Проблемът е свързан с максимален/минимален подмасив/подмножество,в повечето случаи можете да го разрешите чрез:

  • Динамично програмиране

5. Проблеми, свързани с единично свързан списък илидвойно свързан списък могат лесно да бъдат решени чрез:

  • Подход с два указателя

6. Проблемът гласи, че рекурсиятане е разрешена в решението, опитайте се да помислите за данните от Стека структура.

7. Ако проблемът е свързан с низоветеили броенето, Картаили Речник може да се използва за намиране на оптимизирано решение.

Благодаря ти!

Целта на тази статия е да помогне на разработчика да реши лесно проблема. Това не означава, че това са строгите условия или подход, който можете да приложите. Най-често решавате проблема чрез тези трикове. Това е моят личен опит, през който преминах, докато решавах проблемите.
Пожелавам ви да практикувате повече leetcode и да подобрите уменията си за решаване на проблеми.

Актуализация:

В допълнение, публикувах моята нова статия, свързана с „Как автоматично вкарвате вашето решение LeetCode във вашия GitHub акаунт“. Моля, проверете моята статия „LeetHub — плъгин за браузър, който изпраща вашето решение LeetCode към GitHub»».