Say У меня есть два массива:Найти ближайшие элементы через несколько массивов
a=[10 21 50 70 100 120];
b=[18 91];
Я хочу, чтобы соответствовать (один) элементу через а и Ь, которые находятся ближе всего и в пределах 10 единиц прочь.
Результат:
idxa=[1 2 3 4 5 6]
idxb=[2 5]
где согласующие элементы одни и те же числа.
Я смущен, потому что я не уверен, как обеспечить (например), что 18 совпадений с 21 вместо 10, потому что они оба соответствуют требованиям быть в пределах 10 единиц друг от друга. Кроме того, я хотел бы сделать это через несколько (до 8) списков, и код становится чрезмерно сложным, и я чувствую, что есть простое решение, которое мне не хватает. Я не беспокоюсь об эффективности, потому что длины списков малы.
Спасибо!
Если вы делаете это через несколько списков, вы всегда сравниваете их с одним и тем же? Или вы хотите найти предметы «общие» для всех трех? Также: Что происходит в случае связей? – Jonas
Я хочу найти предметы «общие» для всех трех. Реальные данные фактически десятичные, поэтому не должно быть связей. Если есть, то он должен просто взять в зависимости от того, что он найдет первым. – stuppie
Это выглядит очень похоже на проблему с минимальными затратами на двустороннее сопоставление. Он также известен как [Задача назначения] (http://en.wikipedia.org/wiki/Assignment_problem) –