Viktor
Кстати, а почему бы не хранить в сете не саму строку, а ее хеш?
можно, конечно, да. правда все равно надо этот хеш считать. ну может и побыстрее копирования будет.
Evgeniy
можно, конечно, да. правда все равно надо этот хеш считать. ну может и побыстрее копирования будет.
Ну да. Но тогда только один раз считать. А не пробегать по всему сету и пересчитывать для каждой строки в нём.
Viktor
В общем, я решил поступить иначе. По аналогии, с этой задачей https://leetcode.com/problems/word-break/ — по сути, она является составной частью.
Evgeniy
Не решал её. Почему-то.
Viktor
Здесь дпшечка делает по суффиксу тоже, но ты просто хранишь индекс. То есть dp[i] значит суффикс, начиная с i-го символа можно разбить, а значит пересчитывать не надо.
Viktor
Я так же хотел делать только зачем-то хранить сами суффиксы, а это копирование строк.
Viktor
Фу-фу.
Evgeniy
Здесь дпшечка делает по суффиксу тоже, но ты просто хранишь индекс. То есть dp[i] значит суффикс, начиная с i-го символа можно разбить, а значит пересчитывать не надо.
Т.е. ты идешь с конца налево, и для каждого индекса i проходишь направо до конца и ищешь до первого j, где bool=true и [i,j-1] — слово из словаря. И в этот i пишешь true, если нашёл. Так?
Viktor
Т.е. ты идешь с конца налево, и для каждого индекса i проходишь направо до конца и ищешь до первого j, где bool=true и [i,j-1] — слово из словаря. И в этот i пишешь true, если нашёл. Так?
Типа того. Хотя вот сейчас смотрю и мне кажется странным решать эту задачу без общего кеша на все слова. Как-то теряется смысл.
Evgeniy
Мне эта задача напомнила задачу про лягушку
Viktor
А зачем тут кеш? 🤔
Ну я всё эту свою идею с общими суффиксами отрабатывал. В общем, фигня это, потому что из-за копирования строк профита нет.
Viktor
Ничего лучше сортировки не придумал, просто чтобы в трай не добавлять раньше времени лишние строки, что тупо делает сам поиск быстрее.
Evgeniy
Я тут решал вчера вот эту задачу: https://leetcode.com/problems/closest-dessert-cost Тоже пригодилась сортировка. Потратил много времени, тег Greedy только сбил с толку.
Viktor
А зачем тут кеш? 🤔
кеш = дпшечка, я имею в виду.
Evgeniy
Т.е. ты идешь с конца налево, и для каждого индекса i проходишь направо до конца и ищешь до первого j, где bool=true и [i,j-1] — слово из словаря. И в этот i пишешь true, если нашёл. Так?
Реализовал решение. Только проход не с конца, а с начала. public class Solution { public bool WordBreak(string s, IList<string> wordDict) { int len = s.Length; bool[] dp = new bool[len+1]; dp[0] = true; HashSet<string> hs = new HashSet<string>(wordDict); int j = 1; while (j <= len) { int i = j - 1; do { if (dp[i] == true && hs.Contains(s.Substring(i, j-i))) { dp[j] = true; break; } i--; } while (i >= 0); j++; } return dp[len] == true; } }
Evgeniy
Viktor
Evgeniy
У тебя наверно такое же.
Порридж В Ко-ливинге
И вы ниже написали как это обойти 🙃 Вроде еще hasOwnProperty поможет
Viktor
https://t.me/ctci_chat_ru/7168
да-да, на те же грабли наступил. ну это нормально, периодически так делать. я поэтому и говорю, что от джаваскрипта повеяло теплом и ламповостью.
Порридж В Ко-ливинге
да-да, на те же грабли наступил. ну это нормально, периодически так делать. я поэтому и говорю, что от джаваскрипта повеяло теплом и ламповостью.
Виктор, не перестаю удивляться вашей позитивностью! 🤣 У вас стакан наполовину полон водой, а на другую половину полон воздухом
aTan
Именно! 🙂
Мб статью как так думать?)
Evgeniy
@vitkarpov Word Break II порекомендовала Concatenated Words. Не зря они показались похожими.
Viktor
Мб статью как так думать?)
лол. мотивационный тренинг 😂
Порридж В Ко-ливинге
Наполовину полон водой, на другую половину воздухом, и ещё наполовину ромом 🤣
Бутылка рома наполовину полна, а на другую половину в надежном месте
Roman
А имплементация таких вещей как mutex и semaphore к алгоритмическим задачам относится или все же к систем дизайн?
Viktor
А имплементация таких вещей как mutex и semaphore к алгоритмическим задачам относится или все же к систем дизайн?
хороший вопрос. мне кажется, что если идёшь на плюсовика, то могут и попросить «распараллелить». на литкоде есть даже раздел с такими задачками.
Viktor
зависит от позиции ещё, наверное, и от собеседующего. конкретный пример, когда я был на собесе в гугле, на плюсовика SRE-шника, то был обычный литкод (хард), параллельный код писать не нужно было.
Viktor
но понятно, что по одному случаю общий вывод делать не стоит.
Viktor
ещё говорят, что бывают секции где спрашивают по операционным системам. тоже хз что это за позиции, лично не сталкивался.
Viktor
Там их очень мало(((
это правда, это минус.
Roman
На самом деле, не знаю даже как писать такую штуку на тру трэдах. На промисах пишется не шибко тяжело
Roman
mutex например
Viktor
А, понял. Ну это тоже странно. Я думал ты про использование.
Viktor
То есть тебе дают задачку и надо написать для неё структурку, которая будет поддерживать параллельное чтение/запись.
Viktor
И ты расчехляешь мьютекс и пишешь.
Viktor
Говоришь про живые и мертвые локи, и вот это всё.
Viktor
Такой вариант мне кажется норм.
даня
у меня вопрос, наверное, не в тему, но) сейчас делаю дз по CQRS Event Sourcing и вот задумываюсь: на диаграмме компонентов Event store что обычно используется разработчиками в качестве event store? А то по докладам этот момент для меня не очень раскрылся Стоит ли использовать здесь кафку/кролика? вопрос, наверное, про систем дизайн)
Roman
Говоришь про живые и мертвые локи, и вот это всё.
ну вот это больше похоже на сис. диз (не только же про дистрибутивные системы говорить)
даня
DynamoDB с двумя табличками 😄
сразу видно, что из Амазона!
даня
А что за дз? Что проходишь?
system design предмет прошлые два дз были на реактивщину и акторы эта на ивент саурсинг преподает человек из Яндекса СПБ)
Viktor
ИТМО
Понял. Вот это я понимаю обучение!
Viktor
ИТМО
Там случаем в acm-ной команде не состоишь? 🙂
даня
Там случаем в acm-ной команде не состоишь? 🙂
я на этой кафедре учусь, но никогда не участвовал и даже не близок к этому(халявил на 1-2 курсе алгоритмы), хоть и друзья с потока финалисты)
Roman
DynamoDB с двумя табличками 😄
а разве тут правильный ответ не “it depends”?)
Viktor
а разве тут правильный ответ не “it depends”?)
Это правильный ответ на всё, мне кажется 🙂
Roman
У меня есть еще один вопрос относительно подачи резюме. Кто-нибудь когда-нибудь писал Cover letter и если писали о чем оно должно быть? Подаюсь на 3 вакансии и везде cover letter хотят)
Viktor
У меня есть еще один вопрос относительно подачи резюме. Кто-нибудь когда-нибудь писал Cover letter и если писали о чем оно должно быть? Подаюсь на 3 вакансии и везде cover letter хотят)
Я избегал этого всегда либо с помощью рефера от человека, либо потому что рекрутер сам доходил до меня на Линкедине.
Konstantin
У меня есть еще один вопрос относительно подачи резюме. Кто-нибудь когда-нибудь писал Cover letter и если писали о чем оно должно быть? Подаюсь на 3 вакансии и везде cover letter хотят)
Я раньше писал что-то типа «Знаю, что вы делаете клевый продукт и хочу стать частью вашей команды». Но более развернуто, конечно. Всегда прокатывало
Ilia
Все больше и больше людей из этого чата встречаю в твиттере, айтишная туса и правда очень небольшая :))
Ilia
Про животных особенно секцию тщательно прочитал ))
Roman
Когда все так массово уезжают, желание поучавствовать в данном процессе растет)
Konstantin
Про животных особенно секцию тщательно прочитал ))
Обязательно расскажу об этом еще подробнее по ходу дела! )) Там, судя по всему, еще будут приключения
даня
Можно ссылку на пост, пожалуйста
Ilia
Можно ссылку на пост, пожалуйста
https://twitter.com/semper_viventem/status/1368602209089429507?s=21
Ilia
Узнал, что знакомый фронтендер сегодня уехал в Берлин, эх надо налегать на трактор. От нашей зимы и окружения людей уже депрессия подступает.
Null
Happy Monday! 👋 На этой неделе разбираемся с префиксными деревьями. Будем искать слова, которые могут быть составлены конкатенацией других слов. https://vitkarpov.me/posts/concatenated-words/
Порридж В Ко-ливинге
Капец, только сейчас решил Бивикли Хард 🤣 https://leetcode.com/problems/count-pairs-of-nodes/discuss/1099417/Python-Same-algorithms-as-DBabichev-but-shorter-code
Порридж В Ко-ливинге
Выглядит и вправду коротко.
На самом деле там на строк 5-6 меньше чем у Бибича. Можно еще короче, там некоторые переменные всего 1 раз встречаются, но это уже хуже выглядить будет