Забележка:Проблемите по-долу са избрани въз основа на концепции, включенив разрешаването им. Те могат да ви помогнат при решаването на много свързани проблеми по време на интервю.
масив:
Намерете двойка с дадена сума в масива
Проблем с максимален подмасив (алгоритъм на Кадане)
„Най-дългата нарастваща подпоследователност“
Обратно проследяване:
„Намерете най-дългия възможен маршрут в матрица“
Намиране на всички пермутации на даден низ
дървета:
Намерете следващия възел на същото ниво за даден възел в двоично дърво
Отпечатване на ляв изглед на двоично дърво
Намерете диаметър на двоично дърво
Преобразуване на място преобразува дадено двоично дърво в двойно свързан списък
Намерете предшественици на даден възел в двоично дърво
Разделяй и владей:
Намиране на първо или последно срещане на дадено число в сортиран масив
Подмасив с максимална сума с помощта на Разделяй и владей
Динамично програмиране:
Най-дългата обща подпоследователност | Въведение и дължина на LCS
Най-дългият палиндромен подниз (решение, оптимизирано за пространство без DP)
„Проблем с разделяне на думи“
BFS/DFS:
Търсене първо в ширина (BFS) | Итеративно и рекурсивно внедряване
Минимален брой хвърляния, необходими за спечелване на играта Snake and Ladder
Първо търсене в дълбочина (DFS) | Итеративно и рекурсивно внедряване
Алгоритъм за запълване на наводнение
Намиране на всички срещания на даден низ в символна матрица
Матрица:
Намерете всички пътища от първата клетка до последната клетка на матрицата
Намиране на подматрица с максимална сума, присъстваща в дадена матрица
Купчина:
Обединяване на M сортирани списъци, всеки от които съдържа N елемента
„Намерете K’-ия най-голям елемент в масив“
Свързан списък:
Клониране на даден свързан списък
Обединяване на дадени сортирани свързани списъци в един
Благодаря, че превъртяхте.