Алгоритмы на собеседовании аналитика и DS
Алгоритмическая секция обычно лёгкая для аналитика — но без подготовки можно споткнуться на двух указателях или ДП. Этот раздел закрывает базу.
два указателябинарный поискграфыдинамическое программированиеBFS DFS
Лёгкие — начни отсюда
Reverse String — разворот строки на месте
Два указателяЛёгкаяJunior
Valid Palindrome — палиндром с фильтрацией символов
Два указателяЛёгкаяJunior
Merge Sorted Array — слияние двух отсортированных массивов на месте
Два указателяЛёгкаяJunior
Intersection of Two Arrays — пересечение двух массивов
Два указателяЛёгкаяJunior
Squares of a Sorted Array — квадраты элементов отсортированного массива
Два указателяЛёгкаяJunior
Remove Duplicates from Sorted Array — удаление дублей в отсортированном массиве
Два указателяЛёгкаяJunior
Move Zeroes — переместить нули в конец, сохранить порядок ненулевых
Два указателяЛёгкаяJunior
Matrix Diagonal Sum — сумма элементов на двух диагоналях квадратной матрицы
МатрицыЛёгкаяJunior
Средние
Two Sum II — два числа в отсортированном массиве с заданной суммой
Два указателяСредняяJunior
3Sum — три числа с нулевой суммой
Два указателяСредняяMiddle
String Compression — сжатие строки повторами в RLE
Два указателяСредняяMiddle
Compare Version Numbers — сравнение версий вида "1.2.10"
Два указателяСредняяMiddle
Container With Most Water — контейнер с максимальной водой
Два указателяСредняяMiddle
Valid Sudoku — проверка корректности доски судоку 9×9
МатрицыСредняяMiddle
Rotate Image — поворот квадратной матрицы на 90° на месте
МатрицыСредняяMiddle
Spiral Matrix — обход матрицы по спирали
МатрицыСредняяMiddle
Сложные
Яндекс — Валера и торговые автоматы: интерактивный multi-armed bandit
Multi-armed bandit / explorationСложнаяSenior
Яндекс ML — Древний артефакт: сколько цифр удалить, чтобы число делилось на 75
Динамическое программированиеСложнаяSenior
Алгоритмы — минимум замен, чтобы появились подстроки tbank и study
Динамическое программирование на строкахСложнаяMiddle
Алгоритмы — длина наименьшего простого цикла в неориентированном графе
BFS на графахСложнаяMiddle
Алгоритмы — минимум передач бумажек, чтобы у всех было одно число
Жадные алгоритмыСложнаяMiddle
Алгоритмы — построение последовательности по L/R-операциям
Деки и связные спискиСложнаяMiddle
Алгоритмы — мальчик на лестнице: шаг, прыжок и k телепортов
Динамическое программированиеСложнаяMiddle
Backend Яндекса — Осыпающийся песок: симуляция гравитации
Симуляция и матрицыСложнаяSenior