Top 50: обучение алгоритмам

50 задач
50 отборных задач для системного изучения алгоритмов - по одной показательной задаче на каждую важную технику.
Состав подборки
  1. 1. Два слагаемых по сумме Словари · Очень легкая
  2. 2. Элемент большинства Массивы (списки) · Очень легкая
  3. 3. Правильная скобочная последовательность Стек и очередь · Очень легкая
  4. 4. Изоморфные строки Словари · Очень легкая
  5. 5. Циклический сдвиг массива тремя разворотами Массивы (списки) · Очень легкая
  6. 6. Переставить нули в конец Два указателя · Очень легкая
  7. 7. Пересечение двух отсортированных массивов Два указателя · Очень легкая
  8. 8. Найти дубликат за O(1) памяти Два указателя · Легкая
  9. 9. Минимум в стеке за O(1) Стек и очередь · Легкая
  10. 10. Очередь на двух стеках Стек и очередь · Легкая
  11. 11. Первое вхождение в отсортированном массиве Бинарный поиск · Очень легкая
  12. 12. Целочисленный квадратный корень Бинарный поиск · Очень легкая
  13. 13. Минимум в повёрнутом отсортированном массиве Бинарный поиск · Легкая
  14. 14. Сколько подмассивов дают сумму K Массивы (списки) · Средняя
  15. 15. Суммы на отрезках (много запросов) Массивы (списки) · Легкая
  16. 16. Максимальная сумма окна фиксированной длины Два указателя · Очень легкая
  17. 17. Самая длинная серия одинаковых после K замен Два указателя · Средняя
  18. 18. Слияние двух отсортированных массивов Два указателя · Очень легкая
  19. 19. Число инверсий Сортировка · Средняя
  20. 20. K-я порядковая статистика Сортировка · Средняя
  21. 21. Суммы по уровням двоичного дерева Деревья · Легкая
  22. 22. Восстановление дерева по preorder и inorder Деревья · Средняя
  23. 23. Глубина и диаметр дерева Деревья · Средняя
  24. 24. Число компонент связности Графы · Легкая
  25. 25. Проверка на двудольность Графы · Средняя
  26. 26. Дом грабителя Динамическое программирование · Легкая
  27. 27. Группировка анаграмм Словари · Легкая
  28. 28. Произведение всех, кроме себя Массивы (списки) · Средняя
  29. 29. Наибольшая последовательность подряд идущих чисел Словари · Средняя
  30. 30. Слияние пересекающихся отрезков Сортировка · Средняя
  31. 31. Минимальное число переговорных Сортировка · Средняя
  32. 32. Количество островов Матрицы · Средняя
  33. 33. Гниющие апельсины Графы · Средняя
  34. 34. Можно ли пройти все курсы Графы · Средняя
  35. 35. Слово в сетке букв Матрицы · Сложная
  36. 36. Генерация правильных скобочных последовательностей Стек и очередь · Средняя
  37. 37. Комбинационная сумма Динамическое программирование · Средняя
  38. 38. Все перестановки Динамическое программирование · Средняя
  39. 39. Все подмножества Динамическое программирование · Легкая
  40. 40. Сколько ждать потепления Стек и очередь · Средняя
  41. 41. Дождевая вода Два указателя · Сложная
  42. 42. Наибольший прямоугольник в гистограмме Стек и очередь · Сложная
  43. 43. Кратчайшие расстояния от вершины Графы · Средняя
  44. 44. Минимальная скорость поедания Бинарный поиск · Средняя
  45. 45. Разбиение строки на слова словаря Динамическое программирование · Средняя
  46. 46. Максимальное произведение подмассива Динамическое программирование · Средняя
  47. 47. Сумма на отрезке с обновлением точки Массивы (списки) · Средняя
  48. 48. Минимальное остовное дерево (вес) Графы · Сложная
  49. 49. K точек, ближайших к началу координат Сортировка · Легкая
  50. 50. Максимальный поток в сети Графы · Экстремальная
Войдите, чтобы решать →