170 похожих чатов

Привет, как организовать подобное. Имеется заданное количество марок в коллекции.

Пользователь выбирает какие у него лишние и какие ему нужны. Другие пользователи делают то же самое. Нужно выдать информацию о возможных обменах. Как организовать такую структуру для быстрого поиска и что можно использовать?

4 ответов

11 просмотров

А что такое информация о возможных обменах?

Намного проще все через структуру Map(Integer, ArrayList<String>). В одном список желающих купить марку по ключу, во втором желающие продать Получается если человек хочет сделать покупку марки - кидать в один список, проверив второй. Если нет во втором - кидаем в запросы. Если есть - сделка. И то же самое с продажей Или можно Map(Integer, Map(String, Boolean)) Индекс марки - владелец - готовность к покупке/продаже. И просто проверять флаги

Map<Stamp, Integer> - марка, количество. Дальше формируем коллекции для каждого пользователя, с критериями по количеству (>1), по классу редкости/ценности (свойство в Stamp). Далее - разница множеств даст нам информацию о возможных обменах по каждому классу редкости. Возможны варианты обмена 1 марки на 2 разной редкости. В любом случае многое от правил обмена зависит - можно ли менять единственную марку например и т.д. Еще интересен вариант с многоходовыми обменами, например обменять на что-то, что нужно тому, у кого есть нужные нам марки

количество марок в коллекции

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта