Выбор лучших мест в зале

389
11 ноября 2017, 14:41

Лучшими, можно считать географически центральные места. Как получить массив самых центральных мест?

На входе количество необходимых мест (1-10) и массив доступных мест в зале (ряд+0000+место)

var arr = [  "1000001",  "1000002",  "1000008",  "100001",  "1000015",  "1000016",  "100002",  "100003",  "100004",  "100005",  "100006",  "1100001",  "1100002",  "1100005",  "1100015",  "1100016",  "200001",  "200002",  "200011",  "200012",  "300001",  "300002",  "300011",  "300012",  "400001", "400012",  "500001",  "500002",  "500012",  "600016",  "700001",  "700002",  "700016",  "800001",  "800002",  "800013",  "800014",  "800015",  "800016",  "900001",  "900002", "900015",  "900016"];

Получилось преобразовать в обьект seat[i] = {row: х, seat: у};

Получилось вычислить идеальное место для полного зала, но не для заполенного, в котором уже какие-то места недоступны.

Не могу понять каким образом проверять набор необходимых мест на доступность и потом двигаться дальше если их в этом ряду нет.

Answer 1

Сразу в голову приходит такой вариант:

Собираете еще 2 массива из 2х имеющихся (перечень мест в пустом зале и перечень доступных) . Сначала перечень доступных наборов в пустом зале. Потом перечень доступных наборов в заполненном. Смотрите, если одно место из набора уже занято, то набор не доступен.

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

Я бы начал с этого.

READ ALSO
Одинаковый код на Python и JavaScript работает по-разному

Одинаковый код на Python и JavaScript работает по-разному

Почему одинаковый код на разных языках работает по-разному? На Python работает корректно, на JS - нетЯ написал "аттакер" на линейно-конгруэнтный...

268
Реализация Service Worker на Angular 2/4

Реализация Service Worker на Angular 2/4

Вопрос такой - как правильно реализовать Service Worker на Angular 2/4? Меня именно интересуют уведомления, когда приложение не активно (вкладка не открыта),...

213
Почему typeof пропускает функцию в цикле for in?

Почему typeof пропускает функцию в цикле for in?

Есть метод который перебирает объект и записывает только свои свойства, без методовНо проверка typeof на функцию не работает, и метод тоже записывается

218
Не работают события keyup/keypress/keydown

Не работают события keyup/keypress/keydown

Необходимо сделать следующий функционал, чтобы при вводе символов с клавиатуры в input вызывалось модальное окно и то что юзер ввел в первом...

321