Сохранен 45
https://2ch.hk/pr/res/2448918.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Leetcode тред

 Аноним 29/08/22 Пнд 00:51:18 #1 №2448918 
image.png
Сап двач.
Начал прорешивать литкод ~2 месяца назад, прорешал около 500 задачек, поучаствовал в их типа соревнованиях.
До сих пор испытываю проблемы в задачах на графы и динамическое программирование.
Сколько нужно прорешать, чтобы чувствовать себя уверенно?
Есть на доске гуру алгоритмов и олимпиадники?
Посоветуйте материал, расскажите как сами прокачались.
пикрандом
Аноним 29/08/22 Пнд 01:51:43 #2 №2448946 
JXhJG1L.jpg
>>2448918 (OP)
>прорешал около 500 задачек
Какого уровня сложности и на какие темы?
>поучаствовал в их типа соревнованиях
Какие результаты участия?
Аноним 29/08/22 Пнд 13:49:12 #3 №2449157 
>>2448946
>Какого уровня сложности и на какие темы?
В алгоритмах пока нубас, поэтому easy=343,medium=145,hard=8
по темам: two pointers/sliding window, recursion, dfs/bfs, trees, linkedlist, binary search, вот это все
Пробовал еще прорешивать sql там же, задачки не фонтан, заковыристые, на собесах такое редко попадается, sql-ex выглядит удачнее.

>Какие результаты участия?
3 вопроса из четырех сделал, топологическую сортировку графа не осилил, по результатам где-то в верхних 30%, для первого раза сойдет. В планах доделать все easy вопросы, и дальше уже делать только medium и hard.

Есть куда стремиться короче. Еще начал читать широко рекомендуемую "elements of programming interviews java" (pdf легко гуглится), там дельно все объясняется, и параллельно слушать MIT лекции из курса ADS.
в планах года за 2 выйти по алгоритмам на нормальный уровень среднего гугломидла.
Аноним 29/08/22 Пнд 14:37:17 #4 №2449227 
>>2449157
Расскажи свой путь с нуля, план, ресурсы, вообще интересно очень. Тоже хочется как ты.
Аноним 29/08/22 Пнд 15:28:51 #5 №2449271 
>>2448918 (OP)
Зачем тебе это? Хайлоад собрался на ассемблере писать?
По сабжу. Когда-то лет 12 назад будучи школьником занимался олимпиадной информатикой пиковый результат - какое-то там место с конца на всеросе довольно упорно и с увлечением вот чтобы прям максимально интенсивно и с нормальным подходом - около года. До определённого уровня дефицита в понимании алгоритмов не испытывал, но для уровня всероссийских этого явно было мало. Например, алгоритм Дейкстры на хипе был вне моего понимания, равно как и какой нибудь алгоритм построения суффиксного дерева.
В университете на олимпиады хуй я забил почти сразу, но чисто из принципа (и подоженной жопы) дефицит понимания вещей, вроде тех, что выше, компенсировал самостоятельно.
Схема была очень простая. Читаю нужные куски из Кормена, потом дошлифовываюсь на emaxx, затем пиздую решать задачи на acm.timus.ru. Занимался этим первые два курса просто по приколу, пока окончательно не остопиздело.
По итогу теперь я датасосонист и умение посчитать амортизационную стоимость добавления элемента в пирамиду Фибоначчи мне нахуй не нужно.
Современные поделия вроде грокаем алгоритмы и какой-то модной книжки каких-то индусов считаю шлаком для зумеров и упражнением по самоодебиливанию. Известный курс Седжвика - для девочек (хотя задача про percolation там годно изложена). Только фундаментальная подготовка, только тяжёлый труд, только хардкор. Паши два года, сука =))
Аноним 29/08/22 Пнд 15:37:47 #6 №2449278 
>>2449271
Ты из Урфу?
Аноним 29/08/22 Пнд 15:38:32 #7 №2449280 
>>2449271
Сколько на тимусе нарешал?
Аноним 29/08/22 Пнд 15:42:08 #8 №2449285 
>>2449227
Да ниче особенного, отучился пару курсов в московском тех вузе, забил на него, в 2016 прорешал 900 задач на javarush, освоил git, прошел кое-какие курсы (первую часть курса getjavajob и javaops), пошел работать стажером в российский интегратор джуном, там дослужился до погонщика, параллельно выучил английский на уровне B1 (репетиторы и englishlive), потом уехал в соседнюю страну, там работал на баренских проектах и в стартапах, после - некоторое время работал еще кое-где в восточной европке контрактором на одну известную adоbe шарагу, потом вернулся в москву, работал в бодишопе в финтехе за норм зп(380), потом началась специальная военная война, барен съебался, я решил остаться, уволили по соглашению сторон выдав ~3 зарплаты, теперь сижу дома решаю алгоритмы, да в общем-то все, лол.

Вроде прошаренный, а на самом деле действительно сложного особо ничего не писал, все относительно короче, не считаю себя образцом успешного успеха, полно людей более технически подкованных, да и с карьерой получше.
Я не уверен что тебе нужно как я, лол.

В остальном, полит ситуация мутная, за бугор пока больше не тянет, а на российском рынке перспективы размытые, лол. Так что решил подучить то, в чем никогда не шарил, и алгоритмы - одна из дыр, которые я намереваюсь закрыть. Сижу под кондиционером, решаю задачки, собсно все, кек
Аноним 29/08/22 Пнд 15:45:49 #9 №2449287 
>>2449271
>Зачем тебе это? Хайлоад собрался на ассемблере писать?
ну если невойна закончится, может в FANG попробую, если нет - в какую-нибудь аналогично задротскую контору в России.

> довольно упорно и с увлечением
а это сколько часов в день и сколько задач в неделю? примерно?

> Паши два года, сука =))
лол, как и ожидалось, шорткатов не завезли
Аноним 29/08/22 Пнд 15:46:16 #10 №2449288 
>>2449278
Нет. Томские вузы
>>2449280
Лет 8 там был последний раз. Штук, наверное, 130-150 наберётся.
Аноним 29/08/22 Пнд 15:59:47 #11 №2449312 
>>2449287
Свободного времени во время семестров было немного, но часов 8-10 в неделю уделял. На каникулах мог бы и по 5-6 часов сидеть, но тратил это время на математику и более тяжёлые вещи, вроде линейного программирования, дпфа с вариациями или численных методов. Как-то убил неделю на то, чтобы полностью разобраться в разложении Жордана.
Задач с тимуса решал максимум штук 5 в неделю, обычно две-три, слишком много времени они отжирали. Я хз, может, тогда просто тупой был, сейчас все это не выглядит таким уж сложным.
Аноним 29/08/22 Пнд 16:16:02 #12 №2449330 
>>2449312
Да, ещё добавлю, что этим я занимался в одиночку, дногруппникам похую был весь этот матан и какие-то сортировки. Более того, ветхие препода тоже нихуя не знали о том, зачем и где это нужно, так что единственным местом, где я что-то спрашивал, был c/ нульчана.
Аноним 29/08/22 Пнд 16:23:52 #13 №2449341 
>>2449330
>>2449312
выглядит будто 1000 часов должно хватить, чтобы прокачаться до уровне очень сильно выше среднего.

тоже в одного занимаюсь, все кого удалось сагитировать - побросали после 150 задач
если не пригодится - переживу, литкод до сих пор интереснее 99.9% игр в steam/ps5, лол
Аноним 29/08/22 Пнд 16:44:07 #14 №2449359 
>>2449341
Тебе, видимо, 26-28, вышка есть и опыт тоже, мозги давно на месте, мотивация охуенная. Я хз, но 2 года хватит за глаза.
Аноним 29/08/22 Пнд 23:17:07 #15 №2449749 
Помогает ли задрачивание задачек в непосредственно работе, или они нужны только лишь для прохождения собесов в фаанги?
Аноним 30/08/22 Втр 09:52:24 #16 №2449926 
Реально затачивать себя именно только под литкод, нарешать там много задач, и найти работу разрабом?
Аноним 30/08/22 Втр 15:07:55 #17 №2450164 
>>2449749
>>2449926
Нет.
Это скорее для общего развития, чтобы не отупеть.

Челы, которые катятся в фаанг, помимо надроча в литкоде, еще и программировать умеют.
Аноним 30/08/22 Втр 17:22:59 #18 №2450297 
>>2449749
>Помогает ли задрачивание задачек в непосредственно работе, или они нужны только лишь для прохождения собесов в фаанги?
как выше сказали, помогает не отупеть
недавно позвонил брат, сказал что тупит над задачей, написал ему код за 2 минуты прямо в месседжере. без тренировки сам бы сидел и думал, а так рука очень круто набивается.
Аноним 30/08/22 Втр 17:24:58 #19 №2450301 
>>2449926
если к умению прорешать задачки добавится умение в базы данных и сможешь накидать типовой проект с паттернами-хуяттернами и фреймворками - то вполне.
Аноним 01/09/22 Чтв 09:50:00 #20 №2451639 
Литкод - максимально гойская вещь, которой занимаются одибилевшие малолетние снежинки в надежде, что когда они попадут в ДОЛГОЖДАННЫЙ ГУГЛ - ТАМ ТО ВСЕ БУДЕТ ПО ДРУГОМУ на самом деле нет, будете кнопку по полгода передвигать и постоянно выгорать от осознания как вас наебали с ИнТеРеСнЫмИ ЗаДаЧаМи МеНяЮщИмИ МиР

Я считаю, что FАANG-парашам надо сдвинуть планку отбора внушаемых гоев ещё выше - например, чтобы пройти интервью - надо победить интервьювера в партию в Го. Предвкушаю, как появятся десятки книг по тактикам, сотни часов лекций от индусни на ютубе по началу партии а весь программач будет завален вопросами типа "игра в Го ОЧЕНЬ ПОЛЕЗНАЯ, я уже выучил 500 этюдов, как думаете уже можно подаваться?"
Аноним 01/09/22 Чтв 23:44:58 #21 №2452374 
>>2451639
бабах
по моей практике, больше половины самоназванных "синьоров" не могли написать на собесе метод вида "double findAvg(int[] arr)"
а кто мог - не могли его протестировать.
Тоже наверняка говорили что литкод им нахуй не нужон
Аноним 01/09/22 Чтв 23:56:39 #22 №2452380 
>>2452374
Ебать высокая планка, для решения такой сложной задачи необходимо дрочить-передрочить литкод, иначе не решить.

Дорогой литкоддебил, а теперь опиши решение для случая, когда надо найти не среднее, а 99-й перцентиль. В массиве несколько миллионов значений.
Аноним 02/09/22 Птн 00:05:01 #23 №2452386 
>>2452380
Находим за один проход наибольшие 0.01*N элементов, берем среди них наименьший. Зарплату сеньора мне.
Аноним 02/09/22 Птн 03:31:06 #24 №2452434 
>>2452380
так блять никто и не говорит про высокую планку. Доп практика никому не вредит, хз че тебя бомбит по поводу литкода. В гугл не пускают? лол

>Дорогой литкоддебил, а теперь опиши решение для случая, когда надо найти не среднее, а 99-й перцентиль. В массиве несколько миллионов значений.

если массив не собирается меняться - сортируешь и радуешься жизни. и будет у тебя и 99й персентиль и 25й и какой угодно.

Если нужно знать значение только один раз - частичная сортировка выбором или частичная быстрая сортировка (aka quickselect) в помощь.

Какой рэнж значений? если небольшой, то к ним применим count sort, который делается за n.

Если это не массив, а данные которые поступают из внешнего источника, создаешь две PriorityQueue, в одной 99% минимумов, в другой 1% максимумов. поддерживаешь их в таком состоянии дальше, берешь ответ из второй очереди.

Может есть и лучше вариант, я хуй знает. Вообще вопрос хороший
Аноним 02/09/22 Птн 09:17:09 #25 №2452496 
>>2452434
Вот видишь, в этом и проблема! Ты настолько задрочился литкодом, что оперируешь мартыханскими стандартными решениями - сортировка, очереди и т.д. Хорошо, что два указателя не взял, и не стал их дрочить.

Задача подсчёта квантилей возникает в любой мониторингом системе, никаких сортировок и т.д. там нет - в зависимости от нужной точности делают набор бакетов-диапазонов, и с каждым новым значением увеличивают счётчик. Самая сложная задача там - как раз придумать это разбиение на бакеты.

Конечно же ты не обязан этого знать, но заметь, что при реальном решении инженерной проблемы подход литкод-мартыханов малопригоден, однако литкод-дебил считает, что если задачка прошла через чекер - она решена.

Даже в твоём "простом" примере с подсчётом среднего - если числа очень разные - то ты не можешь тупо складывать их (каждое деля на N), потому что у тебя накопится катастрофически большая ошибка округления, есть специальные алгоритмы для изменения порядка сложения для минимизации ошибки. Знает ли это все литкод-макака? Одна на миллион. Знает ли это тот, кто практически решал такую задачу? Наверняка каждый 2-й.

Моя претензия к литкоду в том, что она даёт макакену иллюзию того, что она умеет программировать, но это не так. Если бы оброченные фанги давали в качестве собеса игру в Го, у кандидатов в гои не было бы ложного ощущения, что они что-то умеют. А так получаем ситуацию, что литкод-макак все больше, а софт - все хуже
Аноним 02/09/22 Птн 11:39:07 #26 №2452572 
>>2452496
Удваиваю. Все так.

Программирование - это построение сложных систем на тысячи строк кода, а не дрочение задачек для задров-олимпиадников.
Хочешь писать хороший код - пиши код, а не решай задачки. Читай литературу по CS(БД, ОС, сети, прикладные разделы математики), а не двигай байтики, как аутист.

Алсо, большая часть задач с литкода не на смекалочку, а тупо на знание нужного алгоритма.
Прочитал про алгоритм перебора всех комбинаций символов? Значит решишь задачу. Нет? Будешь сидеть и изобретать велосипеды.
Аноним 02/09/22 Птн 14:51:22 #27 №2452707 
>>2452572
мидл с весьма ограниченным опытом и 3мя годами опыта, ты?
Аноним 02/09/22 Птн 15:01:42 #28 №2452717 
>>2452572
Эээ, пёс, ты ещё скажи, что кагл отношения к реальности не имеет.
Аноним 02/09/22 Птн 19:30:04 #29 №2452955 
>>2452572
это все хорошо, но как программистам, которые меня нанимают объяснить?
Аноним 02/09/22 Птн 19:30:37 #30 №2452956 
>>2452717
ой сдрысни, датасаентист мамкин.
вот уж что точно бесполезная трата времени.
Аноним 02/09/22 Птн 19:36:53 #31 №2452968 
>>2452374
недавно видел такой охуенный findavg на гитхабе, что аж хрюкал.
типа дохуя динамическое программирование с map-ами и тд.

на самом деле нет.
это не охуенный map.
каким образом этом проекту еще и удается вытягивать деньги из apache foundation - загадка.
Аноним 02/09/22 Птн 21:53:06 #32 №2453072 
>>2452956
бля это все замечательно отличные аргументы и вся хуйня
вот только за свою карьеру я слышал следующее
>- Зачем ты учишь английский? это ведь пустая трата времени
>- Зачем ты сдаешь сертификаты это ведь пустая трата времени?
>- Зачем ты проходишь курсы, ведь это пустая трата времени?
>- Зачем ты пишешь пет-проекты, ведь это пустая трата времени?

теперь и
>- Зачем ты решаешь задачи на литкод, ведь это пустая трата времени?

спойлер, большинство элементов этого списка окупились, так нахуя вставлять свою "Фи" ? Ради самооправдания почему ты конкретно этим не занимаешься? Да даже если это пустая трата времени, да и пусть, каждый дрочит как он хочет.
Аноним 02/09/22 Птн 22:59:42 #33 №2453126 
>>2453072
первые три пункта понятны. это базовые штуки.
но "пет-проект" ведь не окупился?
да и как можно называть пет-проектом твою дрысню?
это реально твой Pet? вызывает желание приходить и допиливать? ты получаешь эмоциональную отдачу?

Я не утверждаю что leetcode совсем уж пустая трата времени.
Просто жалко греть воздух этим
Аноним 02/09/22 Птн 23:44:52 #34 №2453139 
>>2453126
ну типа это только мнение
я предложил обсудить литкод а не то, почему он не нужен кек.
Аноним 03/09/22 Суб 08:58:07 #35 №2453275 
А что нельзя в резюме написать вот я нарешал 500 задач на литкоде и больше ниче не знаю. Не заинтересует никого?
Аноним 03/09/22 Суб 08:59:13 #36 №2453276 
Что не прокатит если написать в резюме что нарешал 500 задач на литкоде и больше ниче не делал
Аноним 03/09/22 Суб 10:40:09 #37 №2453307 
>>2453276
I do nothing...
Аноним 03/09/22 Суб 12:17:48 #38 №2453380 
>>2452956
Мань, что ты рвешься? Я с юмором поинтересовался пользой от кагла, но ты как-то очень болезненно воспринял этот невинный вопрос.
Аноним 03/09/22 Суб 16:31:51 #39 №2453763 
>>2453275
если на этом заслуги заканчиваются - то это маловато.
если ты еба знаток алгоритмов и занимал места какие-то там на серьезных соревнованиях, то думаю кто-то заинтересуется
а так.
у меня послужной список норм, литкод скорее всего вообще не будет в моем резюме
Аноним 03/09/22 Суб 17:45:46 #40 №2453873 
>>2453126
Пет проекты делают вкатуны чтобы освоить самые базовые приемы работы с либами и фреймворками, пытаясь собрать из них что-то рабочее, уровня курсового проекта в универе.
А так пет проекты в здравом уме мало кто делает, так как идей что-либо делать особо и нет.
Аноним 04/09/22 Вск 00:30:03 #41 №2454406 
>>2453873
дада мы уже поняли, что ничего не надо делать
ВСЕМУ НА РАБОТЕ НАУЧИШСЯ))))00

нихуя только не научишься
на работе будешь пилить одно и то же от забора до заката и все
посидеть дома и поковырять задачи на что-то, с чем до сих пор не сталкивался фу-фу да?
Аноним 07/09/22 Срд 13:52:48 #42 №2457689 
Так, двачеры. Начал учить литкод. Сосу на одной задаче из первых задач для дауничей. Что делать, как быть?

Пока стараюсь превозмогать. Думаю дать себе пару дней отдохнуть в рабочие дни и всю субботу тупо ее ебашить?

Какие подводные?
Аноним 07/09/22 Срд 20:18:45 #43 №2457909 
>>2457689
Охрана отмена, решил. Слава иисусу. Пацаны пробуйте литкод, збс
Аноним 07/09/22 Срд 23:26:46 #44 №2458048 
>>2457689
делай то что по силам для начала

а че за задача хоть?
Аноним 08/09/22 Чтв 09:40:09 #45 №2458187 
>>2458048
The K weakest rows in a matrix. Часа 2 убил аки даун, а написано изи
comments powered by Disqus

Отзывы и предложения