Диапазоны дат перекрестных ссылок для нескольких записей - PullRequest
0 голосов
/ 04 июня 2011

Я использую Codeigniter для создания приложения и запускаю следующую проблему:

Приложение позволяет пользователям вводить несколько диапазонов дат, каждый из которых имеет дату начала и окончания, то есть с 06-10-2011 по06-14-2011.

Я хочу сопоставить эти диапазоны дат, чтобы найти диапазон дат, который существует как минимум для двух пользователей.Проблема в том, что им не нужны строгие даты начала или окончания.

В основном, если каждый пользователь вводит 1 диапазон дат, подобный:

user1: 10.06.2011 - 15.06.2011, user2: 11.06.2011 - 14.06.2011user3: 12.06.2011 - 16.06.2011

Тогда результат будет:

общий: 12.06.2011 - 14/14/2011

Любая помощь будет отличной!PS Я использую Codeigniter с OverZealous Datamapper.

1 Ответ

0 голосов
/ 04 июня 2011

когда мы можем предположить, что вы не ссылаетесь на диапазоны long , вы можете указать дни для каждого диапазона и использовать даты в качестве ключей для хеш-таблицы.эта хеш-таблица хранит хеш-наборы (или список, если вы уверены, что у пользователя не может быть перекрывающихся диапазонов) пользователей.если дата отсутствует в таблице, создайте новый набор для этой даты и вставьте (добавьте) пользователя, который связан с текущим временным диапазоном.если дата находится в таблице, просто вставьте (добавьте) пользователя ...

после того, как все диапазоны будут обработаны, введите значения в таблицу и сравните общее количество пользователей с длиной хэш-набора(или список)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...