← Все треки

live-coding

Жадность и динамика

Лестница, сумма подмассива, дома, монеты и возрастающая подпоследовательность. На российских секциях динамику спрашивают именно в этих формулировках.

Код можно запускать, разбор открыт. Внутри шага задачи усложняются, следующий шаг уже про другую формулировку.

Создайте аккаунт, чтобы видеть прогресс по треку.

Шаг 1. Память о предыдущем шаге

Число способов подняться по лестнице, одна сделка по акциям и максимальная сумма подмассива. Ответ в каждой позиции зависит от одного-двух предыдущих.

  1. — 5812. Способы подняться по лестнице Easy 1490 ₽ 0 решили
  2. — 3017. Максимальная прибыль от акций Easy 1490 ₽ 9 решили
  3. — 5501. Максимальная сумма подмассива Medium 1490 ₽ 1 решил

Шаг 2. Брать или пропустить

Грабитель домов, досягаемость прыжками и максимальное произведение подмассива. Прыжки укладываются в жадный максимум, произведение — в ту же схему суммы с учётом минуса.

  1. — 5506. Грабитель домов Medium 1490 ₽ 1 решил
  2. — 5211. Игра в прыжки Medium 1490 ₽ 2 решили
  3. — 5502. Максимальное произведение подмассива Medium 1490 ₽ 1 решил

Шаг 3. Сумма, строка, подпоследовательность

Сначала минимум монет, сразу потом число способов набрать ту же сумму: на собеседовании это два вопроса к одной таблице. Дальше декодирование цифр, разбиение строки по словарю и длина возрастающей подпоследовательности.

  1. — 5243. Минимум монет Medium 1490 ₽ 3 решили
  2. — 5819. Число способов набрать сумму Medium 1490 ₽ 0 решили
  3. — 5325. Количество декодирований Medium 1490 ₽ 1 решил
  4. — 3048. Разбиение строки на слова Medium 1490 ₽ 1 решил
  5. — 5245. Длина возрастающей подпоследовательности Medium 1490 ₽ 1 решил