Лучший алгоритм алгоритма для проверки двух списков - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть 2 списка:

1- Список, содержащий пользователей

2- Список, содержащий график работы

График работы содержит

1st Entry (ex 09h00)
1st Exit (ex 13h00)
2nd Entry (ex 14h00)
2nd Exist (ex 18h00)

Каждый пользователь имеет время входа на работу, например, пользователь A пошел на работу и сделал следующее

1st Entry (09h03)
1st Exit(12h58)
2nd Entry(14h03)
2nd Exit (17h51)

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

Например, если 1-й вход, 1-й выход, 2-й вход и 2-й выход из графика 1 действительно близки к пользователю А, то это хорошее приближение.

Наивной реализацией было бы прохождение каждого пользователя и каждого рабочего графика, но это O (M * N), что я не могу сделать, есть ли способ ускорить это?

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