Порридж В Ко-ливинге
Я вот вообще не удивлюсь, что 80% кода в FAANG пишет 20% программистов
Ilia
Я вот вообще не удивлюсь, что 80% кода в FAANG пишет 20% программистов
Так это нормально. Написанные продукты тоже продавать надо и монетизировать )
Evgeniy
А вы прошли leatn how to learn?
Я частично проходил. Тётенька интересно рассказывает
Viktor
FAANG programmer очень в точку
мне нравится zen programmer 🙂
Viktor
Такое впечатление создаётся из-за ютуберов, но их очень мало ж относительно всех разработчиков фаанга.
Viktor
Но идея хайпануть не новая, тот же Клемент построил свой алгоэксперт ровно на этом. Всякие техлиды хайпятся как не в себя.
Порридж В Ко-ливинге
Крутая задачка, O(N^2) не прокатывает https://leetcode.com/problems/word-ladder/
Evgeniy
На 22 тесте выдаёт TLE
Порридж В Ко-ливинге
На 22 тесте выдаёт TLE
Ну у меня тоже самое
Alex Azarov
Слушайте, а есть какой-то план или порядок в каком вы решаете задачи? Я пока просто в разнобой или по подборкам в explore
Порридж В Ко-ливинге
Я уже на Хард. Сижу туплю
Alex Azarov
А нужно ли хард решать?) Мы всё-таки не на Staff Developer целимся
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Надеюсь когда хард решу открою уже премиум и буду по компаниям решать
Lynn «Кофеман»
Моя первая задачка на литкоде =)
Lynn «Кофеман»
С первого раза =)
Порридж В Ко-ливинге
((9(
Порридж В Ко-ливинге
С первого раза =)
Как решили?
Lynn «Кофеман»
Обходом в ширину
Порридж В Ко-ливинге
Обходом в ширину
Ну... а как дерево сделали?
Порридж В Ко-ливинге
Просто по тому, что 1 символ меняется?
Lynn «Кофеман»
Я не делал дерево.
Порридж В Ко-ливинге
За какую сложность? Я за O(N^2), но TLE
Lynn «Кофеман»
У меня есть такая прекрасная вспомогательная функция =)
Порридж В Ко-ливинге
Я не делал дерево.
Ну, я тоже. Я имею ввиду по какой логике шли? Сравнивали что слова на 1 букву отличаются? Как сравнивали?
Lynn «Кофеман»
Вот эта функция выше из слова hit делает регулярку /^(?:.it|h.t|hi.)$/ которая матчит все слова отличающиеся на одну букву.
Порридж В Ко-ливинге
Вот эта функция выше из слова hit делает регулярку /^(?:.it|h.t|hi.)$/ которая матчит все слова отличающиеся на одну букву.
Да, я точно так же, только без регулярки а ручками. А вы в итоге весь массив каждый раз регуляркой проверяли?
Lynn «Кофеман»
Нет. Я запихал его в Set. И выкидывал уже пройденные слова
Порридж В Ко-ливинге
У меня есть такая прекрасная вспомогательная функция =)
Array.prototype.slice отнимает все раьоту у [...]? 😅
Порридж В Ко-ливинге
Нет. Я запихал его в Set. И выкидывал уже пройденные слова
Ну да, это сам собой. Тогда это просто чудо оптимизации, т к. На питоне у меня тоже самое, но TLE
Lynn «Кофеман»
Возможно.
Порридж В Ко-ливинге
class Solution: def diffOneChar(self, w1: str, w2: str) -> bool: return sum(ch1 != ch2 for ch1, ch2 in zip(w1, w2)) == 1 def ladderLength(self, b: str, e: str, w: List[str]) -> int: stack = [b] check = set(w) counter = 1 while stack: counter += 1 temp = [] for word in stack: for checkWord in check: if self.diffOneChar(word, checkWord): temp.append(checkWord) stack = temp check -= set(stack) if e in stack: return counter return 0
Lynn «Кофеман»
Ну по сути у меня такой же алгоритм. Возможно тут много лишних действий. Например в diffOneChar можно сэкономить если написать честный цикл и выходить из него как только разница больше одного, а не перебирать все буквы. Ну и всякие вычитания множеств это же по сути тоже скрытый цикл
Порридж В Ко-ливинге
Господи, питон можно любить хотя бы за то, что ВСЕ контейнеры имеют похожий интерфейс с in Хоть 123 in [123,456,789] Хоть 123 in {123,654,789} Хоть 123 in {123: 6, 543: 8, 888: 0}
Lynn «Кофеман»
Ну я выкидывал из множества сразу как находил. Правда в js это безопасная операция, а как в питоне я не знаю
Порридж В Ко-ливинге
Решил пуская bfs с начала и с конца
Лол, прикольно. А какой ЯП?
Roman
Гоу
Порридж В Ко-ливинге
На плюсах прошло: https://pastebin.com/AtbKkSLQ
Порридж В Ко-ливинге
Вот еще одно преимущество питона в том, что кодик маленький, не загруженный ничем лишним, и его можно в чатик кинуть, и впринципе нормально будет. А если плюсовой код кидать, то это капец. Там будет плато текста со скобками и прочей дичью
Lynn «Кофеман»
Ну может питон просто медленный? 😀 Попробуй поиск с двух сторон, хотя писать его будет сложнее
Порридж В Ко-ливинге
Viktor
За какую сложность? Я за O(N^2), но TLE
Проверь не попадаешь ли там в цикл в графе. Не забываешь отмечать посещённые узлы?
Порридж В Ко-ливинге
Проверь не попадаешь ли там в цикл в графе. Не забываешь отмечать посещённые узлы?
Не не не, проьлема исклбчительно в скорости. Падает на очень большом тесте, остальные проходит
Порридж В Ко-ливинге
Я уже разобрался на плбсах https://pastebin.com/AtbKkSLQ
Viktor
Не не не, проьлема исклбчительно в скорости. Падает на очень большом тесте, остальные проходит
Сейчас кину свой вариант. Я честно построил граф и честно его в ширину обошёл. Я не такой умный как @alexeyten
Viktor
Подучилось громоздко и многословно
Порридж В Ко-ливинге
Сейчас кину свой вариант. Я честно построил граф и честно его в ширину обошёл. Я не такой умный как @alexeyten
Так мы все графы сроим, лол. Просто сразу его и обходим и не нужные старые узлы выкидываем
Viktor
А нужно ли хард решать?) Мы всё-таки не на Staff Developer целимся
Да вот в фаанге планка одна у всех по алгоритмам. Разве что стажёрам задачи попроще, а на младшего и мидла медиум и хард 🤷🏽‍♂️
Viktor
по идее, должно
Viktor
Слушайте, а есть какой-то план или порядок в каком вы решаете задачи? Я пока просто в разнобой или по подборкам в explore
В свое время пробовал сделать список тем + а-ля "must see задач" — https://docs.google.com/document/d/11AdpIPEfGasd6kmrVCm1uR_Yo-VQVmSViZ6oDJCMKYA/edit#heading=h.4a89054n4qjv
Порридж В Ко-ливинге
Да вот в фаанге планка одна у всех по алгоритмам. Разве что стажёрам задачи попроще, а на младшего и мидла медиум и хард 🤷🏽‍♂️
Ну не, фронтам можно я думаю на медиуме остановиться Это всяким дтким бэкам и ИИшникам наверное харды
Viktor
Ну не, фронтам можно я думаю на медиуме остановиться Это всяким дтким бэкам и ИИшникам наверное харды
да может и на изи. я не очень понимаю как от компании к компании это отличается.
Порридж В Ко-ливинге
Хотя в гугол и фронтов могут хардами кошмарить
Viktor
Хотя в гугол и фронтов могут хардами кошмарить
политика такая, мол, не нанимаем фронтов, а нанимаем инженеров, которые потом от избытка ума ангуляр будут делать 🤷
Viktor
чтобы Бену было что хейтить на ютубе 😉
Порридж В Ко-ливинге
политика такая, мол, не нанимаем фронтов, а нанимаем инженеров, которые потом от избытка ума ангуляр будут делать 🤷
Ага, могут себе позволить, т.к. самая крутая и богатая (в плане IT) компания в мире
Viktor
Ага, могут себе позволить, т.к. самая крутая и богатая (в плане IT) компания в мире
крутая вопрос, а вот богатая это верно. можно деньги жечь.
Viktor
Так мы все графы сроим, лол. Просто сразу его и обходим и не нужные старые узлы выкидываем
я ничего не выкидывал и сразу не обходил. построил честный граф и запустил bfs втупую 😄
Lynn «Кофеман»
N^2 В худшем случае ты всё равно сравнишь все со всеми
Порридж В Ко-ливинге
Порридж В Ко-ливинге
N^2 В худшем случае ты всё равно сравнишь все со всеми
В худшем N*N*L, где L - средняя длина строки
Lynn «Кофеман»
L же константа и в оценке не учитывается
Порридж В Ко-ливинге
L же константа и в оценке не учитывается
Там же не оговорено какой длины слово может быть вроде
Viktor
Это питоновский который TLE O(N^2)
Ага. Ясно. Я почему упустил суть разговора и подумал, что ты не понимаешь почему TLE, хотя сам же говорил выше, что квадрат не пройдёт.
Порридж В Ко-ливинге
Очень похожи алгоритм.
Viktor
В худшем N*N*L, где L - средняя длина строки
Можно все же максимальная, а не средняя? Потому что оценка сверху по смыслу