Viktor
Плюсы 💪
Соглашусь. Каждый должен пострелять себе в ногу. Советую пояса от Яндекса на курсере.
babysitter
там же за эти пояса надо почки продавать, нет? что там по ценам?
Viktor
В потом обратно на js?)
Да. Там ж не продкшен опыт, это просто для расширения сознания.
Sergei
Да, цели важны, без целей можно вбок копать)
Sergei
YDKJS
Я вчера, видать, сонный уже был и написал что сложновата не про эту книгу, а про eloquent js 😅
Lynn «Кофеман»
https://ru.stackoverflow.com/a/1267277/190728 Не могу не принести такой “think outside the box” Нас просили вывести число в stdout, а не держать его в памяти, так и выведем его поразрядно 😀
Ilia
Позволю себе немного оффтопа в период затишья, как вы относитесь к тату? есть фанаты? :)
Alexey
Можно ститепндию на курсере получить.
Так оно ж бесплатное, за сертификат только платишь
Roman
Позволю себе немного оффтопа в период затишья, как вы относитесь к тату? есть фанаты? :)
Татуировка? Я думаю себе набить на левой руке и на правом бедре. На руке узор волка в стиле трайбл.
Порридж В Ко-ливинге
Позволю себе немного оффтопа в период затишья, как вы относитесь к тату? есть фанаты? :)
Мне кажется это люди делают совсем от нефиг делать. Когда я вижу человека с тату, я знаю что когда то он был беззаботным 🤣
Oleh
Happy Monday! 👋 Задача этой недели — Ones and Zeroes, из апрельского челенджа на LeetCode. Стараюсь показать ход мыслей: начнём с того, почему жадный алгоритм не работает и перейдём к решению через динамическое программирование. https://vitkarpov.me/posts/ones-and-zeroes/
Добрый день, я задам глупый вопрос(сильно не пинайте😊) Вы часто пишете решения задачек по масивам где функцию называете dfs Но разве dfs это не про графы и деревья ? Или по другому задам вопрос, как правильно юзать dfs в "этом вашем ДП", что то не получается пройти этого боса пока что).
Viktor
Добрый день, я задам глупый вопрос(сильно не пинайте😊) Вы часто пишете решения задачек по масивам где функцию называете dfs Но разве dfs это не про графы и деревья ? Или по другому задам вопрос, как правильно юзать dfs в "этом вашем ДП", что то не получается пройти этого боса пока что).
Конкретно этот пример — там хоть и массив, но обход все равно происходит дерева. Только дерево это «возможных вариантов» построения скажем итогового решения задачи, ну как в примере с расписанием или вот здесь как можно потратить доступный бюджет
Viktor
То есть рекурсия как раз как бы это дерево собой и представляет
Viktor
И по нему надо гулять dfs-ом
Viktor
То есть дерево это ж просто абстракция. не обязательно чтобы задача была на дерево явно.
Stas
Очень прикольное видео кидали по ДП от freecodecamp на эту тему, я почти досмотрел, мне прямо супер понятно стало
Viktor
Добрый день, я задам глупый вопрос(сильно не пинайте😊) Вы часто пишете решения задачек по масивам где функцию называете dfs Но разве dfs это не про графы и деревья ? Или по другому задам вопрос, как правильно юзать dfs в "этом вашем ДП", что то не получается пройти этого боса пока что).
если вопрос про то как правильно юзать ДП, то надо правильно уметь вкручивать кеш. чтобы было нагляднее надо пару раз нарисовать дерево которое обходится и посмотреть где там повторяющиеся куски, которые целиком можно кешировать.
Viktor
имхо, в этом как раз прикол этих задач чтобы научиться видеть структуры данных в реальной жизни и мапить математические абстракции на реальные ситуации.
Ilia
Тоисть ДП это про графы и деревья насколько я понимаю ?
дп это про все сразу, есть линейные(как я их понимаю), например размен монетами
Viktor
Тоисть ДП это про графы и деревья насколько я понимаю ?
в частности, но не только. это про всё когда есть возможность использовать ранее полученные результаты.
Viktor
Ну так не только вы называете, когда идет разговор о ДП или Backtracking)
да, это я где-то увидел, конечно. ну типа обход в глубину, логично назвать dfs. главное не злоупотреблять 😃
Viktor
depth first search = dfs
Порридж В Ко-ливинге
Конкретно этот пример — там хоть и массив, но обход все равно происходит дерева. Только дерево это «возможных вариантов» построения скажем итогового решения задачи, ну как в примере с расписанием или вот здесь как можно потратить доступный бюджет
+ Дерево - не обязательно именно объект в памяти со ссылкой на 2 других объекта. Деревом может быть хоть массив, хоть что угодно, где есть больше одного варианоа куда пойти
Stas
Сегодняшняя прикольная 🙂 На перебор
Viktor
Сегодняшняя прикольная 🙂 На перебор
Ага, классический бектрекинг.
Владъ
странно, что она медиум, я думал изи
Viktor
странно, что она медиум, я думал изи
ну не, везде где рекурсия уже не изи.
Ilia
Особенно если решить без рекурсии )
Ilia
Все хочу попробовать сделать так )
Ilia
По идее решение меньше 10 строк без рекурсии выйдет(понятно что с ней ещё проще)
Stas
На питоне значит в одну можно 😁
Владъ
на js можно всё в 1 строку сделать
Viktor
на js можно всё в 1 строку сделать
Длиною в 10к символов 😅
Порридж В Ко-ливинге
Владъ
сегодня интересная задачка
Viktor
ага. не смотря на то, что изи, но я в очередной раз забыл что такое лексикографическое сравнение и гуглил 😃
Владъ
чот мне пока не изи) ещё думаю
Viktor
ну изи в том смысле, что решается прямо по написанному, без всяких оптимизаций.
Viktor
но осознать все равно надо.
Владъ
а, ну вот у меня есть уже идея, пытаюсь написать
Владъ
O(n*m) вроде получается, не знаю, можно ли быстрее
Viktor
n,m это что там?
Владъ
количество слов * количество букв в самом длинном слове
Viktor
ага. аналогично.
Владъ
мм
Владъ
в ответах решение попроще конечно)
Viktor
в ответах решение попроще конечно)
ну-ка, давай поделимся решением. я, кстати, в решение не смотрел, так что тоже любопытно сравнить.
Владъ
ну оно проще для понимания, мне кажется по сложности одинаково
Viktor
у меня вот так вышло.
Viktor
сейчас придёт @Glazomer47 и скинет однострочник в 8 символов
Ilia
https://leetcode.com/submissions/detail/478465806/
нельзя смотреть чужие сабмишны
Владъ
у меня вот так вышло.
ну у тебя как и в решение то есть сравниваются соседние слова а я иду по буквам и убираю слова, у которых буквы не повторяются
Viktor
мне нравится, что ты мапу из пар создал.
Владъ
мне нравится, что ты мапу из пар создал.
ну а как же) для этого они и созданы)
Viktor
ну а как же) для этого они и созданы)
во-во. я новый и прекрасный джс уже не знаю, поезд ушёл вперед 😃
Evgeniy
У меня уже была сделана. С сортировкой
Evgeniy
public class Solution { public bool IsAlienSorted(string[] words, string order) { var dict = order.Select((x, i) => new { Item = x, Index = i }).ToDictionary(c => c.Item, c => (char)('a' + c.Index)); var converted = words.Select(w => new string(w.Select(c => dict[c]).ToArray())); var ordered = converted.OrderBy(w => w); return converted.SequenceEqual(ordered); } }
Viktor
Это уже старое)
я там вообще объект обычный использую, вот где старое 😉
Viktor
Владъ
Хотя, в данном случае это же константа
Viktor
учитывая, что всего 26 символов, видимо, да. хотя если сами слова сопоставими, то это константа будет давать весомый вклад.