Dati due array ordinati A
e B
lunghezza N. Ogni elemento può contenere un numero naturale inferiore a M
. Determina tutte le possibili distanze per tutti gli elementi di combinazione A
e B
. In questo caso, se A[i] - B[j] < 0
, la distanza è M + (A[i] - B[j])
.Trova tutte le possibili distanze da due array
Esempio:
A = {0,2,3}
B = {1,2}
M = 5
Distances = {0,1,2,3,4}
Nota: Lo so O(N^2)
soluzione, ma ho bisogno di una soluzione più veloce di O(N^2)
e O(N x M)
.
Modifica: matrice A
, B
e Distances
contengono elementi distinti.
Le distanze potrebbero non contenere duplicati. –
Non penso che troverai migliore di 0 (MxN) ma mi aspetto che qualcuno pubblichi qualcosa, sarebbe interessante :) – Netwave
Considerando che l'output può essere "N * M", non penso che possiamo scrivere un algoritmo più veloce di O (N * M). –