Alexander
ну там видно еще что у тебя лишние делаются вещи, я вангую там намек на кучу в задаче
Alexander
https://docs.python.org/3/library/heapq.html
Alexander
блин щас решу
Евгений
блин щас решу
разбираюсь в этом модуле сижу)
Евгений
блин щас решу
только решение не кидайте, хочется все таки самому решить, просто понять в чем проблема
Кирилл
[FE Mentoring #90 Юбилейная, 07.10.22 19:00] Привет, меня зовут Кирилл, я и другие менторы проводим менторинг по JS. Сегодня будет одна из таких встреч (юбилейная немного отличается) Календарь наших встреч можно посмотреть тут: https://calendar.google.com/calendar/u/0?cid=cnNzZmxsY2o3cGQxMTFsZzg0YnAzbzlndWNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ О нас + попасть к нам: https://maximumjavascript.github.io/6-seniors-docs/ Вопросы для лучшей подготовки базе языка (наш проект): https://maximumjavascript.github.io/roadmap/ Ютуб с записями: https://www.youtube.com/channel/UCNj7cgRX4_ZqnT24WqJRKpA Notion с нашими публичными доками: https://maximumjavascript.notion.site/fc50eed804d640fea1457219bd4dc0fb P.S. Согласовано с админами!) #javascript #typescript #mentoring #js #react #vue #live #frontend #fe
Alexander
короче решил неоптимально но рабоче
Alexander
чтоб решить оптимально я почти уверен что надо кучу брать
Alexander
только решение не кидайте, хочется все таки самому решить, просто понять в чем проблема
если захочешь мое решение потом посмотреть https://www.codewars.com/users/aqaguy
Евгений
удалил решение
проблема в алгоритме у меня?
Alexander
проблема в алгоритме у меня?
да, подсказка - реши без цикла
Alexander
ого ты судоку решал
я ваще по литкоду загоняюсь больше но решал судоку - мне судоку еще на собесе в микрософт попадалось
Bogdan
я вообще не умею судоку решать
Alexander
я вообще не умею судоку решать
я судоку ката решал а судоку в газете не умею)
Bogdan
я судоку ката решал а судоку в газете не умею)
в ката с помощью циклов решается?
Alexander
в ката с помощью циклов решается?
я циклами решал, вообще если видишь матрицу циклы почти стопудов будут
Евгений
да, подсказка - реши без цикла
без циклов так пробовал, но тоже ошибки if len(self.scores) < self.count_scores: self.scores.append(last_scores) else: if self.scores[-1] < last_scores: self.scores[-1] = last_scores
Alexander
первый иф выпили, проверяй размер после добавления элемента (стараюсь не дать тебе полное решение а самому дойти)
Евгений
первый иф выпили, проверяй размер после добавления элемента (стараюсь не дать тебе полное решение а самому дойти)
так тогда же элементы будут добавляться, не учитывая ограничения по количеству..
Alexander
там решение в 2 строчки буквально: у тебя главная ошибка как раз в том что ты проверяешь размер списка до добавления
Евгений
угусь
Таблица рекордов будет начинаться пустой. Ограничение на размер таблицы будет указано при создании таблицы. как тогда соблюдать условие
Alexander
Таблица рекордов будет начинаться пустой. Ограничение на размер таблицы будет указано при создании таблицы. как тогда соблюдать условие
попробуй не думать про списки, попробуй подумать так - у тебя стоит взвод солдат по росту, надо выбрать трех самых рослых
Евгений
ааа, типа вывод
Alexander
там в лоб решение?
я решал в лоб я не уверен что есть не в лоб
Alexander
ааа, типа вывод
ну, и приходит новый солдат - ты как будешь делать
Евгений
ну, и приходит новый солдат - ты как будешь делать
это получается нужно использовать два списка
Alexander
это получается нужно использовать два списка
можно два, можно один, реши двумя для начала
Alexander
понял, принял
сеня/завтра выпущю видос по код челенджам на собесах - глядите коли что
Bogdan
сеня/завтра выпущю видос по код челенджам на собесах - глядите коли что
обычно хорошо когда задачи не задают на собесах
Bogdan
ибо дают время подумать мало, а иногда решение сразу в голову не приходит
Alexander
обычно хорошо когда задачи не задают на собесах
ну тут такое дело - хочешь в амазоны или фейсбуки придется решать
Alexander
думаю в тындексе тоже
Alexander
ибо дают время подумать мало, а иногда решение сразу в голову не приходит
ну это часть задания - посмотреть что ты будешь делать когда жопа горит и нифига непонятно, потому что в фангах это может быть перманентным состоянением, и каждая секунда торможения - минус стопицот миллионов
Евгений
можно два, можно один, реши двумя для начала
если я правильно понял, то это должно быть что-то такого плана def update(self, last_scores): self.scores2.append(last_scores) self.scores2 = sorted(self.scores2, reverse=True) self.scores = self.scores2[0:self.count_scores] но пока отрабатывает хуже чем с циклом)
Alexander
а, вижу
Alexander
сделай теперь с одним списком)
Alexander
кстати 0: писать не надо
Alexander
можно просто так: [:some_value]
Евгений
сделай теперь с одним списком)
self.scores.append(last_scores) self.scores = sorted(self.scores, reverse=True) self.scores = self.scores[:self.count_scores]
Евгений
но мне кажется это не совсем то, что хочет задание, ибо список должен хранить определенное количество всех веденных значений, с перезначением самых маленьких на самые большие, а так как у меня постоянно перезначается список это не правильно
Евгений
с большими списками опять проблема
Евгений
смари мое решение тогда
сейчас еще помучаюсь, если не пойму, тогда гляну)
Alexander
сейчас еще помучаюсь, если не пойму, тогда гляну)
да не уже можно я не совсем понимаю почему у тебя падает потому что у меня плюс минус также
Alexander
class HighScoreTable: def __init__(self, limit): self.scores=[] self.limit = limit def update(self, candidate): # YOUR CODE HERE self.scores.append(candidate) self.scores = sorted(self.scores) self.scores.reverse() if len(self.scores) > self.limit: self.scores = self.scores[:-1] def reset(self): self.scores=[]
Alexander
у тебя даже получше местами
Евгений
я ифы не добавил
Евгений
а хотя у меня они по идеи и не нужны
Alexander
я ифы не добавил
да но мне кажется это не должно влиять, поэтому я не знаю почему не проходит у тебя)
Alexander
когда раскуришь - напиши, и да это неоптимальное решение, для оптимального надо раскурить кучи
Евгений
когда раскуришь - напиши, и да это неоптимальное решение, для оптимального надо раскурить кучи
за кучи ток узнал) надо будет вникнуть, увидел что гараздо быстрее обработка идет
Евгений
логика у нас вроде бы одна и та же, но не дает, странно
Alexander
логика у нас вроде бы одна и та же, но не дает, странно
это мой конспект с универа там может какой хитрый кейс с лимитом, попробуй принтануть
Евгений
вот еще тема
если можно, ссылку, я английский не знаю, все через переводчик почти читаю))
Yan
Ребят можете помочь с GIT как запушить код не из репозитория в другой существующий репозиторий
Alexander
если можно, ссылку, я английский не знаю, все через переводчик почти читаю))
это личный архиф локальный, но в основном отсюда брал https://runestone.academy/ns/books/published/pythonds/Trees/PriorityQueueswithBinaryHeaps.html
Alexander
Ребят можете помочь с GIT как запушить код не из репозитория в другой существующий репозиторий
1) создаем локальный реп 2) добавляем дополнительный ремоут 3) комитим локально 4) пушим
Alexander
смотрим этот видос от дяди Саши. посылаем ему лайки и донаты https://odysee.com/@testclub:7/git-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%BC%D0%B8-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D0%BC%D0%B8:e
Yan
Хорошо спс
Евгений
вся проблема была в том, что я обьявил список в классе, а не в init ))))
Евгений
просто перенес в инит и вуаля
Евгений
но почему так я не понял, просто начал вникать чем отличается работа ниших кодов, и увидел что у тебя список в инит обьявлен
Евгений
a, classic
оказывается и мой самый первый код вполне рабочий, вся проблема в этом была)
Евгений
может кто объяснить почему так?)
Alexander
может кто объяснить почему так?)
ну трудно сказать почему имено падало, но в питоне переменные инстанса надо в конструкторе делать. если делать в классе то это типа статик будет (не совсем но типа)