ho pensato un problema che è la seguente:Finding più vicino numero in una gamma
Abbiamo un array A di interi di dimensione n, e noi abbiamo prova cause T e in tutti i casi di test ci viene dato un certo numero m e un intervallo [s, e] cioè ci viene dato se ed e dobbiamo trovare il numero più vicino di m nell'intervallo di quell'array (A [s] -A [e]).
È possibile assumere array indicizzati da 1 a n.
Ad esempio:
A = {5, 12, 9, 18, 19}
m = 13
s = 4 and e = 5
Quindi la risposta dovrebbe essere 18.
Vincoli:
n<=10^5
t<=n
Tutto quello che posso pensare è una (n) soluzione per ogni caso di test O, e penso che esista una soluzione migliore.
Se non è ordinato in alcun modo, è necessario accedere a tutti i valori compresi tra A [s] e A [e], quindi O (n) è.O piuttosto O (e-s), suppongo. – femtoRgon
@femtoRgon lo so, ma con l'uso di qualsiasi struttura dati penso che sia possibile (basti pensare ma non sicuro). –
Dato che hai specificato un limite di dimensioni massime (10^5), non è la complessità O (1) - cioè il tempo costante? – Chris