Kirill
что мне не нравится в моём запросе - так это то, что он выкачивает коллекцию, сортирует, а потом ищет элемент. Нельзя ли отсортировать её как бы на стороне базы, и там же достать индекс в отсортированном виде?
jmyh
Кто сможет срочно решить на Си через логарифм? Пожалуйста!!!
Warox
у тебя же сортдефинишн есть это же не обычная линкюшка
Kirill
выгллядит так что уже сортирует на стороне базы
да, пожалуй, но там нет метода "Index Of"
Warox
тебе он и не нужен и сорт не нужен просто пощитай сколько пацанов имеют рейтинг круче чем у твоего чувака кароче лан ) я офф нада бежать
Bogdan
Кстати вы за то что бы UI делать с помощью кода или за то что бы делать с помощью разметки (HTML/CSS, XML, XAML) (Думаю учить ли мне Jetpack Compose)
Kirill
Только не говорите, что только асинхронный курсор поможет )
jmyh
Не знаю, препод просит на экзамен Такое решение есть, но при n = 100 перегружен код
Andrii
какой логарифм
Обычный логарифм, чтобы заменить умножение сложением, будет выше точность.
Mikhail
хорошая идея!
Зависит от вашей нагрузки, сколько пользователей и от того, как часто изменяется рейтинг. Если рейтинг меняется часто + достаточно большое количество пользователей, то идея с индексом на поле рейтинга - это очень плохая идея. Без индекса ваш запрос будет работать медленно. На практике такое делается обычно подсчетом рейтинга в бекграунде + отдельной коллекцией в БД, к которой вы и обращаетесь.
Andrii
ln (a * b) = ln a + ln b exp (ln (a * b)) = a * b so a * b = exp(ln a + ln b)
Bogdan
я сначало просто не понял что имелось ввиду под геометрическим произведением
Mikhail
Читается рейтинг в любом случае чаще чем меняется, поэтому индекс норм идея.
При чем тут количество чтений относительно записей?
Andrii
Mikhail
Читается рейтинг в любом случае чаще чем меняется, поэтому индекс норм идея.
Ты представляешь себе постоянное изменение рейтинга в B-tree? ;D Там постоянно он перестраиваться будет.
Bogdan
я слепой я прочитал не произведения, а произведение
Bogdan
и подумал что это что то из геометрии типо векторного
jmyh
ln (a * b) = ln a + ln b exp (ln (a * b)) = a * b so a * b = exp(ln a + ln b)
Можете, пожалуйста, плотность расписать код
jmyh
Полностью
Mikhail
Не перестраиваться а апдейтится это две большие разницы
В случае изменения таких данных как “рейтинг пользователя”, который меняется часто, от большого количества пользователей, это будет именно перестраиванием.
Andrii
Полностью
Ну я могу намекнуть, а полностью расписывать... ты же учишься, не я :)
Igor
В случае изменения таких данных как “рейтинг пользователя”, который меняется часто, от большого количества пользователей, это будет именно перестраиванием.
ты предлагаешь сделать то же самое только в бэкграунде ... и я думаю что ты преувеличиваешь ... а решат все только нагрузочные тесты, ну и вопрос был про запрос оптимизация запроса добавлением индекса решается за 2 минуты ... а то что ты предлагаешь это уже совсем другая история
Bogdan
код блокс
Bogdan
https://www.codeblocks.org/
Mikhail
ты предлагаешь сделать то же самое только в бэкграунде ... и я думаю что ты преувеличиваешь ... а решат все только нагрузочные тесты, ну и вопрос был про запрос оптимизация запроса добавлением индекса решается за 2 минуты ... а то что ты предлагаешь это уже совсем другая история
Конечно, асинхронно ты не будешь блокировать запись. У меня был опыт подобного рейтинга для онайлн-игры. При онлайне около 40k человек была уже необходимость выносить подсчет рейтинга и позиций в отдельный воркер, и записывать все в redis.
Anonymous
Здравствуйте все, кому не впадлу посмотреть код и сказать почему он херовый? Я не прохожу тест на летную школу яндекса из-за time limit exceeded(( пыхтел над задачками, но отсутствие алгоритмического опыта звиздец сказывается
Vyacheslav
https://pastebin.com/UQgQnAUv
И задачу тоже
Bogdan
задачу лучше тоже было залить куда-то слишком многа букав
Anonymous
задачу лучше тоже было залить куда-то слишком многа букав
да забей, уже я забил на это) не могу че делать через силу, пол годика помусолю алгоритмы и попробую еще
Anonymous
Может кто нибудь из вас знает Python код? У меня есть решения этих задач на Pythone, прошу у кого время есть, можете адаптировать для меня под java?
Anonymous
https://pastebin.com/tvh3ZkLN
Itanik
Все учим
Dmitriy (Дима)
Все учим
Ясен пень 👏😎
Vyacheslav
да забей, уже я забил на это) не могу че делать через силу, пол годика помусолю алгоритмы и попробую еще
не вижу где тут можно было превысить тайм лимит единственное что может быть это случаи когда оно в бесконечный цикл падает ну или ввод слишком замороченый(но я типа про джаву слышал отдрузей когда то только)
Igor
Может кто нибудь из вас знает Python код? У меня есть решения этих задач на Pythone, прошу у кого время есть, можете адаптировать для меня под java?
Тебе алгоритм нужен а не код на питон) считаем баланс скобок, определяем открывающаяся неверная или закрывающаяся, потом фиксим в зависимости от этого.
Vyacheslav
я тоже хз, из 5 задач одну решил правильно без проблем с памятью
ты код то дебажил, хотя бы этими тремя тестами чтов задаче есть?
Anonymous
ты код то дебажил, хотя бы этими тремя тестами чтов задаче есть?
да, все работает зашибись, там около 30 тестов, яндкес не показывает ничего кроме первых трех, еслиб я видел в чем проблема исправил бы
Шаман Каган
Все учим
и в рабство
Itanik
Не в России живешь, сразу видно :(
Шаман Каган
причем тут
Igor
подсчет скобок и у меня есть, только он идет по одному месту хз из-за чего
Подсчет скобок у тебя не верный, поэтому не вижу смысла фиксить скорость
Шаман Каган
если все пойдут учить питон, то будет дохрена питонистов , след низкая зп
Itanik
Если так, то ок
Anonymous
Подсчет скобок у тебя не верный, поэтому не вижу смысла фиксить скорость
я ориентировался по доступным задачам, хз почему он неверный(
Igor
если все пойдут учить питон, то будет дохрена питонистов , след низкая зп
как говорили в школе учителя учить и выучить это разные вещи)
Vyacheslav
Подсчет скобок у тебя не верный, поэтому не вижу смысла фиксить скорость
а мне таки интересно: откуда ошибка превышения времени?
Igor
я ориентировался по доступным задачам, хз почему он неверный(
А самому придумать тест? ))( У тебя получается что последовательность можно исправить, но это не так
Vyacheslav
А самому придумать тест? ))( У тебя получается что последовательность можно исправить, но это не так
так а тайм лимит то почему? ) разве можно посчитать скобки быстрее чем строка читается?
Bogdan
кстати, а есть что-то эффективнее чем через стек проверять баланс скобок?
Abai Batyrkhan
V
Bogdan
я не про его задание, а в целом
Igor
я не про его задание, а в целом
Вцелом тоже) если у тебя один тип скобок то стек не нужен)
Anonymous
3 wrong answera и херня с паматью
Vyacheslav
во во, и я про то\
но за индексами у тебя следить нужно а еще учитывать что индексы слева от знака равно и справа от знака равно нужно отдельно отслеживать, как и скобки считать
Anonymous
3 wrong answera и херня с паматью
как же горит + абидна
Bogdan
Вцелом тоже) если у тебя один тип скобок то стек не нужен)
да я это понимаю, я имел ввиду вообще баланс когда не 1 вид
Vyacheslav
3 wrong answera и херня с паматью
так а чо ты про тайм лимит тогда писал? )))