Comments 15
И пусть Яндекс живёт спокойно, занимаясь своей фигнёй.
Однако есть одно но:
1) В чистом виде такие задачи встретятся далеко не факт (хотя разговаривал с чуваком, который в Яндекс собеседовался — попросили сгенерить все перестановки), в большинстве случаев будут несложные модификации таких задачек (например, сгенерить все перестановки строки).
2) Собес по алгоритмам — далеко не единственный собес, будет куча и других:)
Как выводится оценка сложности рекурсивного алгоритма для задачи 1?
Я никогда не понимал таких объяснений. Мне всегда кажется, что люди специально так объясняют, чтобы объяснение было, но никто ничего не понял.
Чтобы получить следующую лексикографическую последовательность, нужно найти самую правую открывающуюся скобку, перед которой стоит
закрывающаяся, чтобы при их перестановке местами скобочная
последовательность оставалась правильной.
До этого момента понятно.
Поменяем их местами и сделаем суффикс самым лексикографическим младшим
Что имеется в виду под суфиксом? Говоря по-русски, это что-то другое, нечто противоположное, чем префикс. Префикс - это по-нашенски приставка. Тогда что такое суффикс? То же самое что и в русском языке? Или имеется в виду окончание?
Если суффикс как русский суффикс, то имеется в виду какая-то последовательность в середине последовательности. Если суффикс как окончание, то имеется в виду какая-то последовательность на конце последовательности. Что же на самом деле имеется в виду?
Но даже если волшебным образом понять, какой вид суффикса имеется в виду, то почему-то не сказано, откуда этот суффикс начинается (и где заканчивается).
Далее, выражение "сделаем суффикс самым лексикографическим младшим" вообще непонятно. Как его "сделать"? Что должно с суффиксом произойти? По сравнению с чем он должен стать лексикографически младшим? Что с ним нужно сделать? Сделать внутренние перестановки? А какие? Поставить его впереди последовательности? Развернуть задом наперед? Может, что-то еще?
для этого нужно на каждом шаге вычислять разницу между количеством скобок.
И? Что нам даст это число? Как мы его будем использовать?
Обзор задач по алгоритмам для собеседований — генерация множеств