Реализовать алгоритм, нахождения уникальной выборки

Цена договорная • безналичный расчёт, электронные деньги
20 августа 2015, 17:41 • 4 отклика • 81 просмотр
Реализовать алгоритм, вычисляющий уникальные выборки из набора коллекций.

Что это значит? Объяснение на примере
У нас есть структура данных. Каждой строке соответствует диапазон значений.
a. [0:10]
b. [5:13)
c. (12:100]
d. [15:16)
Загадаем позицию a. Какие уникальные выборки из коллекции однозначно определяет a? Ответ: [0:5)
Почему? Потому что a\b ⋂ a\c ⋂ a\d = [0:5)
...
Загадаем позицию с. Какие уникальные выборки ...? Ответ: [13:15) ∪ [16:100]
Почему? Потому что c\a ⋂ c\b ⋂ c\d = [13: 100] ⋂ ((12: 15) ∪ [16: 100]) = [13: 15), [16: 100]
Загадаем позицию d. Какие ...? Ответ: нет.
Почему? Потому d полностью пересекает c.
И так далее...
Представим что у нас есть две структуры. Значения в различных структурах имеют разную природу. Другими словами они не сравниваемые.
I:
a. [0:10]
b. [5:13)
c. (12:100]
d. [15:16)
II:
a. [0:102]
b. [5:13)
c. (12:100]
d. [5:16)
Загадаем позицию а. Какие уникальные выборки ...? Ответ: I: [0:5). II: [0:5), (100:102]
...
Загадаем позицию d. Какие ...? Ответ: I: нет, II: нет. Для совокупности I и II возможно однозначно выбрать d если, для I коллекции задаим ограничение [13:+inf) для II - (-inf:12]. В итоге уникальная выборка I: [15:16), II: [5:12].
Почему? I и выборка [13:+inf) отсекает a и b. II и выборка (-inf:12] исключает c. В итоге однозначно определили d.

Представим что у нас есть множество структур с множеством позиций в каждой из структур. Требуется реализовать алгоритм не зависящий от размеров структур и кол-ва позиций. Реализация должна определять уникальную выборку, как в примере выше.

Обращаю внимание
Не нужно реализовывать графические интерфейсы управление, беспокоиться о том откуда данные приходят и прочее. Только реализовать алгоритм в виде функции, которая на входе ожидает коллекцию структур и загаданную позицию. На выходе уникальная выборка.
Будем проверять работу в https://jsfiddle.net/07nmyv87/4/

Пожалуйста, в вашем отклике указывайте цену, срок реализации и на сколько вам задача понятна?