Олимпиадный уровень

37 задач
Подборка для тех, кто хочет большего: задачи уровня студенческих олимпиад и выше — сложные и экстремальные по всем темам.
Состав подборки
  1. 1. Поиск дубликатов Массивы (списки) · Сложная
  2. 2. Группировка анаграмм Словари · Сложная
  3. 3. LRU-кэш (симуляция операций) Словари · Сложная
  4. 4. Спиральный обход матрицы Матрицы · Сложная
  5. 5. Число островов Матрицы · Сложная
  6. 6. Наименьшее число из перестановки цифр Сортировка · Сложная
  7. 7. Точка поворота в повёрнутом массиве Бинарный поиск · Сложная
  8. 8. Поиск в повёрнутом отсортированном массиве Бинарный поиск · Сложная
  9. 9. Следующий больший элемент Стек и очередь · Сложная
  10. 10. Вычисление постфиксного выражения Стек и очередь · Сложная
  11. 11. Стек с минимумом за O(1) Стек и очередь · Сложная
  12. 12. Контейнер с наибольшим количеством воды Два указателя · Сложная
  13. 13. Сумма трёх чисел равна нулю Два указателя · Сложная
  14. 14. Количество троек с суммой меньше target Два указателя · Сложная
  15. 15. Максимум в каждом окне размера K Скользящее окно · Сложная
  16. 16. Самая длинная подстрока без повторяющихся символов Скользящее окно · Сложная
  17. 17. Количество подстрок с ровно K различными символами Скользящее окно · Сложная
  18. 18. Наибольшая подстрока с K заменами Скользящее окно · Сложная
  19. 19. Минимальное количество стрел, чтобы лопнуть все шары Жадные алгоритмы · Сложная
  20. 20. Можно ли добраться до конца массива Жадные алгоритмы · Сложная
  21. 21. Минимальное число платформ на вокзале Жадные алгоритмы · Сложная
  22. 22. Разбиение строки на части с уникальными символами Жадные алгоритмы · Сложная
  23. 23. Наибольшая возрастающая подпоследовательность Динамическое программирование · Сложная
  24. 24. Рюкзак 0/1 Динамическое программирование · Сложная
  25. 25. Наибольшая общая подпоследовательность Динамическое программирование · Сложная
  26. 26. Наибольшая палиндромная подстрока (длина) Динамическое программирование · Сложная
  27. 27. Расстояние Левенштейна Динамическое программирование · Экстремальная
  28. 28. Разбиение строки на палиндромы (минимум разрезов) Динамическое программирование · Экстремальная
  29. 29. Есть ли цикл в неориентированном графе Графы · Сложная
  30. 30. BFS: кратчайший путь (список вершин) Графы · Сложная
  31. 31. Проверка двудольности графа Графы · Сложная
  32. 32. BFS: расстояния от одной вершины до всех остальных Графы · Сложная
  33. 33. Топологическая сортировка Графы · Экстремальная
  34. 34. Проверка бинарного дерева поиска Деревья · Сложная
  35. 35. Наименьший общий предок в BST Деревья · Сложная
  36. 36. Все подмножества множества (битовые маски) Битовые операции · Сложная
  37. 37. Быстрое возведение в степень по модулю Теория чисел · Сложная
Войдите, чтобы решать →