Порридж В Ко-ливинге
Sergei
Хз, этот первый канал русскоязычный, где нет токсичности и комфортно
Порридж В Ко-ливинге
Хз, этот первый канал русскоязычный, где нет токсичности и комфортно
Хотя да, тут вы тоже правы. Сижу в 2ух чатах - одна токсичность. Зашел в другой чат - анальная модерация 🤦‍♂️
Порридж В Ко-ливинге
Viktor
https://www.youtube.com/watch?v=ib8TQLmHuWA Мне кажется или Вегед уже почти Дон Карлеоне? 😃
Viktor
Ya.Talks в прямом эфире сейчас.
Viktor
Это, конечно, всё прикольно, но с нормальной офлайновой конференцией не сравнить. Но это было очевидно.
Порридж В Ко-ливинге
Сразу видно, кто пишет 90% кода в команде
Порридж В Ко-ливинге
Это, конечно, всё прикольно, но с нормальной офлайновой конференцией не сравнить. Но это было очевидно.
Вообще, эта конференция просто пиар. А пиар и еще в Онлайне это ужас. Самые крутые конференции о них редко говорят, и их надо искать или смотреть на сайте
Viktor
Мне интересно было, как дела у компании у Олега Бунина. Он же только конференциями занимается. Вышел с ним подкаст, любопытно рассказывал. Спойлер: все плохо, но один хрен надо продолжать работать, и адаптироваться.
Viktor
Как я и думал, прикол конференции в том, чтобы пообщаться в кулуарах и на афтепати. Онлайн это сложно сделать.
Порридж В Ко-ливинге
К разговору о том, что Ютюб рекламирует надурилово: https://t.me/durov_russia/23
Viktor
Где чудо-схемы заработка «рекламирует Дуров».
Viktor
Это ж полная ересь!
Порридж В Ко-ливинге
О, да! Я запарился на фейсбуке отмечать scam
Так им все равно. Куда смотрит наше правительство 🤦‍♂️
Порридж В Ко-ливинге
Никакого увадения к людям живущих в России и никакой реакции от властей.
Viktor
Так им все равно. Куда смотрит наше правительство 🤦‍♂️
Правильно. Заблокировать надо этот фейсбук, в вк такой херни нет 😄
Порридж В Ко-ливинге
Как говорил Гуриев "... это как считать, что россияне - людьми второго сорта. Это откровенный расизм."
Порридж В Ко-ливинге
Правильно. Заблокировать надо этот фейсбук, в вк такой херни нет 😄
Так пока им блокировакой правительство не пригрозит, они делать ничего не будут. Хотя, может эти схемы и кто-то в правительстве крышует 😅
Viktor
К разговору о том, что Ютюб рекламирует надурилово: https://t.me/durov_russia/23
Про трудности перевода любопытно. Мне кажется, что кто-то просто затупил и понеслось по всем сми, одно перепечатывает другое.
Порридж В Ко-ливинге
Про трудности перевода любопытно. Мне кажется, что кто-то просто затупил и понеслось по всем сми, одно перепечатывает другое.
Да Дуровтне такая личность, что издания хотели бы на него тратить деньги, вот и переводять 1.5 журналиста с гугл переводчиком
Dmitry
Всем привет! А как вот такое решать? https://leetcode.com/discuss/interview-question/948062/Amazon-or-OA-2020-or-Fetch-Items-to-display . Если вкратце то надо реализовать пагинацию. То есть есть массив объектов, тебе говорят какую страницу вернуть, сколько строк на странице и по какому полю сортировать
Dmitry
В комментах только брут форс решения с обычной сортировкой. Такое решается как то более эффективно?
Viktor
В комментах только брут форс решения с обычной сортировкой. Такое решается как то более эффективно?
Кажется, что по номеру страницы и размеру порции вычисляем первый элемент, складываем ссылки на исходные объекты в новую коллекцию, сортируем как просят, рисуем список.
Viktor
Что тут можно придумать хитрее?
Viktor
Ну аккуратно надо реализовать последнюю страницу.
Dmitry
Если честно, не до конца понял твой алгоритм ))
Viktor
кажется, что быстрее n * log n, где n размер порции, и не сделать — сортировать все равно придётся.
Viktor
Если честно, не до конца понял твой алгоритм ))
я правильно понял, что просят? есть полный список товаров. на вход получаем номер страницы, размер порции и поле для сортировки, надо вернуть отсортированный список товаров на нужной странице?
Dmitry
Да
Dmitry
ну предположим у нас 1000 товаров и по 10 на странице, нам просят показать условно 5ую страницу
Viktor
Да
тогда предлагаю решать так. по номеру страницы и размеру порции вычисляем откуда рисовать, т.е. первый элемент, за O(1), типа startIndex = portionSize * (pageNum - 1) (плюс надо обработать последнюю страницу, чтобы за границу не выйти). далее делаем слайс исходного массива (слайс — значит не копируем сами объекты, а только ссылки на них), сортируем по указанному полю. всё.
Viktor
типичная задачка для нью града
Viktor
позаботиться нужно о том, чтобы сортировка была стабильной, для этого нужно знать как работает сортировка в твоем языке.
Viktor
ничего хитрее чем n * log n, кажется, не придумать. т.е. как так отсортировать, чтобы не сортировать, не ясно.
Dmitry
Я просто чуть иначе задачу понимаю
Viktor
и не ясно зачем. вряд ли на странице по смыслу много элементов.
Dmitry
Я так понимаю тебе надо отсортировать весь массив то есть 1000 элементов. И потом сделать слайс
Viktor
лишняя работа
Dmitry
Что то я не вкуриваю)) Представь у тебя каталог товаров на сайте, ты сортируешь товары по цене
Viktor
а, кажется, я понял. чтобы получить нужную страницу в соответствии со сквозной сортировкой.
Dmitry
Ну да
Viktor
тогда прекалк. делаем по поисковому индексу для каждого поля по которому сортировать надо.
Dmitry
Конкретно в этой задаче только 1 запрос будет, то есть прекалк не особо нужен
Viktor
минус в том, что обновляется список товаров, надо и индексы пересчитывать.
Dmitry
вопрос в том, можно ли не сортировать весь массив
Viktor
вопрос в том, можно ли не сортировать весь массив
кажется, что мы только что ответили на этот вопрос. если не сортировать, то пользователь не получит «самые дешевые товары на 5 странице».
Dmitry
ну вот у меня такой есть набросок
Dmitry
Типичная задача на найти top K элементов в массиве можно решить через метод partition (который из quicksort)
Dmitry
https://leetcode.com/problems/top-k-frequent-elements/solution/
Dmitry
quickselect, тут в solution способ номер 2
Viktor
Типичная задача на найти top K элементов в массиве можно решить через метод partition (который из quicksort)
это нормальная история, только top K, где K — количество элементов на первых страницах, тех которые мы и не будем показывать.
Viktor
мне нравится. партишенинг наше все.
Dmitry
Да, идея в том, что нам нужно элементы по позиции 40-50 допустим. Мы находим все элементы 0-40 с помощью quickselect и 0-50 с помощью quickselect и потом вычитаем множества
Dmitry
или например находим 0-40 и 40-end и пересекаем множества
Dmitry
Ну это только мой набросок, звучит мега геморно))
Viktor
всяко лучше, чем весь список сортировать.
Dmitry
Ну да, я вот и решил узнать, мб есть какие то еще способы
Dmitry
Просто для БД это типичный механизм limit offset order by и вряд ли он целиком ворочает огромные таблицы
Viktor
типа std::partition и всё
Viktor
мне кажетя в БД будут индексы, тот самый прекалк
Dmitry
Да, кстати, дерево возможно вполне эффективно это решит
Dmitry
у амазона на OA жесткие time limit? такая задача пройдет если полную сортировку всего массива делать?
Viktor
вообще не жесткие. кажется, что и брутфорсы пройдут. но там надо писать «как решал и оценить сложность», это кто-то читает по идее.
Viktor
так что есть вероятность, что забреют если совсем втупую делать.
Dmitry
типичная задачка для нью града
А на счет этого тут вообще рандом, кому то вон на интерна дают critical connections )
Dmitry
Ладно, в целом спасибо за подсказки )
Viktor
Ладно, в целом спасибо за подсказки )
побыл немного твоей debug-🦆
Viktor
@alexeyten прислал мне просто замечательный коммент к сегодняшней задаче на adventofcode — https://twitter.com/alexeyten/status/1335291295116521472
Viktor
вот что значит «нормальный программист», который мыслит в двоичной системе 😄
Viktor
Яндекс.Почта в надёжный руках 🔥
Иван
👍👍