Порридж В Ко-ливинге
Как вам мастерство кликбейтных заголовков? https://leetcode.com/problems/shortest-distance-to-a-character/discuss/1054195/Python-O(N)-O(1)-Pointers-100-hire-in-Google-solution!
Порридж В Ко-ливинге
прикольно, что в один проход 👍 я в два решил, но зато код легче читать)
Там у меня выше есть в 2. Там +- одно и тоже по читаьельности
Evgeniy
Так читабельнее
Evgeniy
Кому-то кликбейт не понравился 😃
Порридж В Ко-ливинге
Кому-то кликбейт не понравился 😃
Да капец. Хейтеры диз поставили.
Порридж В Ко-ливинге
Ага, ага, 15 просмотров и 3 лайка тупо за видос, верим верим
Alexandr
Там у меня выше есть в 2. Там +- одно и тоже по читаьельности
кстати, когда в 2 прохода, индексы можно ведь не хранить, понятно что по памяти и так и так O(n), но тем не менее)
Lynn «Кофеман»
Я вот тоже начал писать в один проход, но запутался и забил. Прошёл туда и обратно
Порридж В Ко-ливинге
Я вот тоже начал писать в один проход, но запутался и забил. Прошёл туда и обратно
Я сам если честно пока в discuss не увидел “two pointers” не догадался до такого.
Порридж В Ко-ливинге
Никогда не думал, что vim удобный
Порридж В Ко-ливинге
Капец, перешел с Chrome на Safari, а с VScode на Vim – +2гб оперативки
Evgeniy
Никогда не думал, что vim удобный
Что у тебя со сглаживанием шрифтов?
Порридж В Ко-ливинге
Порридж В Ко-ливинге
А, ок
У меня еще 720p
Порридж В Ко-ливинге
У меня еще 720p
Экран. Мак эир, ули
Порридж В Ко-ливинге
https://twitter.com/krllsdv/status/1358305460152131587?s=19
Порридж В Ко-ливинге
Теперь гадай, на чъей стороне Яндекс 🤣
Semyon
Капец, перешел с Chrome на Safari, а с VScode на Vim – +2гб оперативки
Я наоборот перешёл с вим на vscode. Включил там вим мод и в итоге тоже самое что и было у меня в виме только не нужно вручную ничего настраивать. Немного медленнее конечно, но фича с ремоут контейнерами конечно килер фича. Да и pylance тоже хорош
Semyon
8гб Ага вскод запускает внутри контейнера процес и конектиться к нему https://code.visualstudio.com/docs/remote/containers
Ilia
я вот насчитал 49%
Страшно признаваться, но я плохо посчитал, правильно было бы сказать 34-40% обязательных выплат, а ндс в налоги по зарплате я считаю неверно плюсовать
Null
Happy Monday! 👋 Задача этой недели — найти пик в массиве. Хорошая задача с тривиальным решением и развитием в бинарный поиск. https://vitkarpov.me/posts/peak-index-in-a-mountain-array/
Alex Azarov
есть ещё такой алгоритм для поиска локальных экстремумов https://en.wikipedia.org/wiki/Golden-section_search https://medium.com/datadriveninvestor/golden-section-search-method-peak-index-in-a-mountain-array-leetcode-852-a00f53ed4076 Он немного по-другому работает, но всё равно O(log N)
Yuri
Happy Monday! 👋 Задача этой недели — найти пик в массиве. Хорошая задача с тривиальным решением и развитием в бинарный поиск. https://vitkarpov.me/posts/peak-index-in-a-mountain-array/
Найти такое условие, которое выполняется внутри всего цикла. Тогда все индексы и присваивания и большелиборавно пишутся сами собой
Alex Azarov
Дональд Кнут пишет, что хотя первый двоичный поиск был опубликован в 1946 году, первый двоичный поиск без багов был опубликован только в 1962. ))) https://habr.com/ru/post/91605/
Viktor
Найти такое условие, которое выполняется внутри всего цикла. Тогда все индексы и присваивания и большелиборавно пишутся сами собой
то есть грубо говоря внутри цикла можно поставить ассерт, который если упадёт — значит что-то пошло не так, раз инвариант нарушен. интересно в данном случае, что это будет за инвариант.
Yuri
Viktor
Yuri
В programming pearls чувак это продемонстрировал наглядно
Evgeniy
Жемчужины программирования
Evgeniy
На каком языке это написано?
Yuri
На каком языке это написано?
На псевдокоде си-подобном
Viktor
А что думаете о таком формате бинарного поиска, где не нужно делать +1 или -1? https://pastebin.com/zCMSeG3C
нормальная история, главное это четко понимать смысл L,R. я бы в данном случае начинал L=-1, а не 0. Типа по смыслу L,R тогда границы за которыми _точно решения нет_ (включительно). И тогда получается логичным условие для while R - L > 1, т.е. когда указатели встали рядом, значит _между_ ними дальше решения нет (и дальше нет смысла искать)
Viktor
мне такой подход даже больше нравится
Viktor
+ l = mid + 1 и r = mid Или l = mid и r = mid - 1 Зависит от того, нам надо left boundary или right
это тоже хороший поинт, да. нужен ли нам lower_bound или upper_bound. не так важно, если все числа уникальные.
Viktor
это тоже хороший поинт, да. нужен ли нам lower_bound или upper_bound. не так важно, если все числа уникальные.
не правильно сказал. не уникальные, а строго возрастающие убывающие, как в условии сказано. то есть нет такого что рядом стоят одни и те же числа.
Viktor
а есть задачки где это как раз важно, и вот там я начинаю путаться «без словаря» 😃 каждый раз приходится смотреть как пишется lower_bound на всякий случай.
aTan
> L=-1, а не 0 @vitkarpov а разве полу-интервалы не чаще применяются?
Viktor
может как-то можно сравнить что проще для понимания или какие есть задачи где это имеет значение.
aTan
Ну я пока только 1 задачу из 20 на бинарный не смог этим полуинтервалом решить.
aTan
Сам список задач на бинарный поиск (и еще несколько не в списке) https://leetcode.com/list/5dtpe73v/ Не получилась задача: https://leetcode.com/problems/find-k-closest-elements https://pastebin.com/fBwm4HSA
aTan
И то подозреваю что скорее всего просто что то упустил
aTan
Источники: - самые популярные задачи - https://leetcode.com/explore/learn/card/binary-search/ - https://leetcode.com/discuss/general-discussion/786126/python-powerful-ultimate-binary-search-template-solved-many-problems - https://leetcode.com/discuss/general-discussion/691825/binary-search-for-beginners-problems-patterns-sample-solutions - https://leetcode.com/list/5aubwh9g/ +фильтр, если негативных оценок больше позитивных Большинство задач из списка входит в 2-3 источника сразу, так как они более-менее схожи.
aTan
Ну сейчас подход решать одну тему недели 2 хотя бы. Правда пока получалось только с рекурсией, ДП, сейчас бинарный поиск, на этой неделе переход на тему графы @ganqqwerty тоже причастен к этому подходу
aTan
А тренировка рандомных тем - контесты и задачи которые в разных источниках всплывают (чаты какие то или знакомые)
Evgeniy
А что думаете о таком формате бинарного поиска, где не нужно делать +1 или -1? https://pastebin.com/zCMSeG3C
Что касается меня, то всегда пишу бинпоиск с +1 и -1 одновременно
Порридж В Ко-ливинге
Что касается меня, то всегда пишу бинпоиск с +1 и -1 одновременно
Тогда у тебя будет еще одна проверка, и по итогу не покажешь случайное место, куда подходит вставка, а не конкретно слева или справа
Evgeniy
Тогда у тебя будет еще одна проверка, и по итогу не покажешь случайное место, куда подходит вставка, а не конкретно слева или справа
Ну для поиска числа это не важно. Конкретно в этой задаче пришлось убрать +1, чтобы определить ответ по левой границе
Evgeniy
-1 точнее
Viktor
@PavelSavelyev приветствую настоящего живого СТО в чате 😉
Viktor
Привет-привет :)
добро пожаловать 😊 решил в перерывах между директорством порешать литкод? 😃
Viktor
любопытно, что привело технического директора относительно немаленькой компании в этот чат.
Viktor
найм? 😃
Viktor
для контекста. мы тут периодически обсуждаем задачки, собеседования, и флудим.
Alex Azarov
Наконец-то яндексойдов заберут на х2 в мэил как и обещали в мемах
Viktor
куда записываться? 🙂
Видимо к Павлу, в Юлу 😉
Порридж В Ко-ливинге
куда записываться? 🙂
В СберБанк, к @yeti_or
Konstantin
Вася @yeti_or, возьмешь не глядя?) Только мне бы в Казани остаться 😛
Ilia
Я сегодня разблокировал ачивку тайпскрипта: 0 any на 100к кода :D
Pavel
куда записываться? 🙂
Сам бы не отказался найти :)