Angenommen, Sie haben k
Arrays mit einer Größe N
, die jeweils eindeutige Werte von 1
bis enthalten N
.
Wie würden Sie die beiden Zahlen finden, die im Durchschnitt am weitesten voneinander entfernt sind?
Zum Beispiel angesichts der Arrays:
[1,4,2,3]
[4,2,3,1]
[2,3,4,1]
Dann wäre die Antwort item 1
und 2
, da sie in den ersten beiden Arrays einen Abstand von 2 und im letzten einen Abstand von 3 haben.
Mir ist eine O (kN ^ 2) -Lösung bekannt (durch Messen des Abstands zwischen jedem Zahlenpaar für jedes der k
Arrays), aber gibt es eine bessere Lösung?
Ich möchte einen solchen Algorithmus in C ++ implementieren, aber jede Beschreibung einer Lösung wäre hilfreich.