Порридж В Ко-ливинге
Порридж В Ко-ливинге
Там именно в самом методе иттерации проблема
Порридж В Ко-ливинге
Плюсы капец как трудно дебажить
Порридж В Ко-ливинге
С Си и JS у меня вообще таких проблем не было
Порридж В Ко-ливинге
Что то не так сделал:
На плато текста – разбирайся
Viktor
в JS ладно, согласен, что проще.
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Viktor
На любых
https://ideone.com/W3xUag
Viktor
точно на любых? вот почему-то работает
Порридж В Ко-ливинге
Блин
Viktor
Прилагаю говно-код
https://pastebin.com/gB79FYQM
я ещё не очень понимаю зачем вы создаёте в куче сеты, через new set, и храните указатели на них? если хранить в мапе просто set, а не указатель на него, он один хрен будет в куче создаваться по капотом — мап это ж динамическая структура данных
Viktor
сами себе создаёте больше возможностей для выстрелов в ногу. пусть stl занимается там внутри указателями.
Порридж В Ко-ливинге
Ну
Порридж В Ко-ливинге
Я это сделал чтобы у разных цифр был один сет
Порридж В Ко-ливинге
Чтобы не надо было в каждом сете менять
Порридж В Ко-ливинге
Могу задачу скинуть
Порридж В Ко-ливинге
Это симуляция графа
Viktor
Порридж В Ко-ливинге
В Мапе хранятся как ключи вершины, а внутри ссылка на сет, с которыми соединена эта цифра
Порридж В Ко-ливинге
https://codeforces.com/contest/1253/problem/D
Порридж В Ко-ливинге
Viktor
Вообще матрица классический пример представления неориентированных графов, по-моему.
Порридж В Ко-ливинге
Ну, это будет затратнее чем через мапы и сеты
Evgeniy
Порридж В Ко-ливинге
Будет 2 соединения
Evgeniy
Ты про время?
Порридж В Ко-ливинге
1-3-4-8-9
и
11-2-6-29-7
Порридж В Ко-ливинге
Порридж В Ко-ливинге
А если бы был один общий сет – то за 1 insert общий можно ыбло
Порридж В Ко-ливинге
ТААк
Порридж В Ко-ливинге
Я нашел проблемы
Порридж В Ко-ливинге
// delete nums[v];
Порридж В Ко-ливинге
Но new же надо delete
Порридж В Ко-ливинге
// delete nums[v];
nums[v] = nums[u];
Порридж В Ко-ливинге
У меня leak, да?
Иван
Кто-нибудь может объяснить вот такой кейс?)
Иван
["LRUCache","put","put","get","put","put","get"]
[[2],[2,1],[2,2],[2],[1,1],[4,1],[2]]
Иван
Почему результат
Иван
[null,null,null,2,null,null,-1]
Иван
А не
Иван
[null,null,null,2,null,null,2]
Viktor
Почему результат
А у тебя капасити 2. после того как первый раз двойку прочитали, мы ещё две ноды добавили в кеш и они вытеснили двойку совсем. поэтому при следующем чтении — -1, т.е. нет в кеше уже
Viktor
но если бы мы скажем после того как положили первую ноду прочитали двойку ещё раз, то уже бы не вытеснили, потому что раз мы её почитали — она в начало списка летит.
Иван
Да понял, спасибо!
Порридж В Ко-ливинге
Что-то совсем все плохо
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Порридж В Ко-ливинге
ВО
Порридж В Ко-ливинге
https://ideone.com/AUVVnu
Порридж В Ко-ливинге
Со мной солидарны
Evgeniy
Наконец-то сделал
Evgeniy
На 12 тесте застрял поначалу. Всё переписал заново, и прошло
Evgeniy
Надо внимательно задание читать
Viktor
А что было?
Viktor
да уж, это какая-то жесть 😄
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Я тоже дичь писал какую-то
Evgeniy
Не удалялась запись из хэш-таблицы, когда узел из листа уже удалён
Порридж В Ко-ливинге
С говно проверками
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Капец
Evgeniy
Откуда минус?
Viktor
https://ideone.com/AUVVnu
а что делает UniqueList, точнее почему нельзя взять просто https://en.cppreference.com/w/cpp/container/list ?
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Потому что я в нем запутался
Порридж В Ко-ливинге
🤣🤣
Порридж В Ко-ливинге
Ну да, думаю на лист сейчас перепишу
Viktor
Потому что я в нем запутался
Давайте распутаемся 😄 Если есть хорошо протестированный лист из стандартной библиотеки имеет смысл пользоваться им, чем писать ещё раз 😄
Viktor
Писать свой лист можно и нужно, в образовательных целях, но только один раз.
Viktor
Не для этой задачи.
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Порридж В Ко-ливинге
Сейчас попробую