Evgeniy
Не сильно сложная (как сейчас кажется) 😄
С помощью обхода дерева решил, да?
Volodymyr
Классная задачка 👍
когда получилось решить, помню тогда подумал что уметь в алго круто. Но вот когда решал - проклинал всех и вся
Volodymyr
С помощью обхода дерева решил, да?
ну лит код бы не прийнял наверное мое решение, я там памяти чуток потратил с мапой )
Evgeniy
ну лит код бы не прийнял наверное мое решение, я там памяти чуток потратил с мапой )
На литкоде по времени ограничение. А на память не замечал)
Volodymyr
На литкоде по времени ограничение. А на память не замечал)
ну там иногда указывают в задачках что нужно решить без использования доп памяти. Хз проверяют ли они это как-то на самом деле
Viktor
просто в сет складывал.
Viktor
с ролинг хешем можно повозиться для интереса, это само по себе любопытно, но что-то лень было.
Roman
я тоже через сэт сдал. У меня правило - сначала сам, а потом можно и посмотреть как надо было. Мне прям rolling hash, который литкод в солюшенах предлагает зашел
Viktor
особенно есть задачки где без него никак.
Sergei
особенно есть задачки где без него никак.
Парень в видео по ссылке из твоего разбора про coin change bottom up каждое значение из 11 для каждой монеты в течение 15 минут считает, тут глухонемой прозреет и поймёт, мой «aha moment» случился на значении 4 😂😂😂
Sergei
Не, другой, у тебя в блоге ссылка)
Sergei
https://www.youtube.com/watch?v=jgiZlGzXMBw
Viktor
Да, он тоже хорош.
Viktor
Классная история когда сперва ты готовишься в фанг настолько тщательно, что в итоге открываешь компанию по подготовке других
Viktor
Это его вариант как раз
Viktor
Потому что пока сам готовился набралась аудитория, жалко терять
Viktor
Надо монетизировать 😆
Viktor
Но больше всех, в этом плане, мне нравится Тилек с его outtalent.com — он даже Y Combinator прошёл с этой идеей
Sergei
Обычно посчитают раз два три, а дальше мол «всем понятно», но не понятно, а тут просто 15 минут считает вслух все варианты:)
Viktor
Обычно посчитают раз два три, а дальше мол «всем понятно», но не понятно, а тут просто 15 минут считает вслух все варианты:)
Возможно даже слишком много, но может это и правильно. Потому что я делал видосы как мне кажется для начинающих, но фидбек был зачастую «прикольно, но надо б больше разжевать»
Viktor
Потому что не ясно для кого рассказываешь, кто посмотрит, на ютубе
Sergei
Я, например, из твоего поста не уловил этот магический +1
Sergei
Почему и пошёл смотреть видео
Viktor
Я, например, из твоего поста не уловил этот магический +1
Значит плохо рассказал, это уметь надо :-) ну хорошо, что видосик помог.
Viktor
Не зря я его приложил. Я в своё время этого парня смотрел разные видосы.
Viktor
Попробуй, у него и другие крутые такие же есть.
Sergei
Обязательно
Ilia
Сегодняшняя задача хороша. Прямо пришлось подумать, чтобы не начать генерить все двоичные числа, класть в сет, и потом проверять все подстроки на совпадения.
это точно. пришлось аж двумя способами решать, чтобы время улучшить, а то первый способ совсем чет ужасный вышел )
Ilia
А первый какой был?
шел от 0 до 2**k-1, превращал i.toString(2).padStart(k,'0') и проверял сабстринг ли это, если нет return false
Ilia
второй всё сделал ровно наоборот и время получше стало )
Ilia
надо посмотреть как там лучшие результаты делали
Ilia
как всегда решение какого-то азиата лучше всех 😄
Viktor
как всегда решение какого-то азиата лучше всех 😄
как только ты становишься лучшим в контестах на литкоде — ты становишься азиатом, может это так работает 😃
Ilia
на самом деле там у всех такое решение оказывается, я даже почти понял почему так
Ilia
взять все уникальные подстроки и сравнить их количество с 2**k
Ilia
ну вот до меня так и не доходит почему это срабатывает
Evgeniy
ну вот до меня так и не доходит почему это срабатывает
Потому что каждая подстрока это число в этом диапазоне. Нам нужны все числа из диапазона
Ilia
а, теперь понял )
Viktor
Потому что каждая подстрока это число в этом диапазоне. Нам нужны все числа из диапазона
ага, до меня дошло когда я сложил все 2^k чисел в сет, которые сгенерил до этого. типа нет варианта, что в сете будет не ровно это число элементов, соответственно и нет смысла их заранее все генерить, можно просто пройтись по строке и запихать туда все подстроки такой длины и если там ровно это количество, ну отлично, значит они все были.
Ilia
Я в итоге почти так сделал, только потом пошёл в массиве от 0 до конца и проверял есть ли число в сете )
Ilia
Понял ради чего стоит брать премиум, время сабмитов и тестов меньше полусекунды это фантастика )
Ilia
Премиумные задачи правда бредоватые пока только попадались
Evgeniy
Типа того, да )
Иногда напрягает, что простой тест думает несколько секунд
Evgeniy
Самые популярные
Evgeniy
Я когда начинал решать выбирал те, где больше процент Accepted ))
Evgeniy
Чувствуешь себя не таким тупым 😁
Ilia
Ilia
Ilia
Ilia
Ilia
Ilia
Сорри, я с телефона, вот штук 40-50 первых получается
Evgeniy
Ого, спасибо. Многие из них решал. Выбери себе из премиумных также, будет полезнее.
Evgeniy
221 хорошая
Evgeniy
200, 238, 380 еще
Evgeniy
121 на ДП
Ilia
Изи на дп звучит странно )
Ilia
Я правда ее несколько раз читал и не мог придумать как решать, поэтому и забил
Evgeniy
Изи на дп звучит странно )
У дп и правда мало легких задач. Но эта прям вводная