, -, , - .
, , , :
S - . n - : n = |S|. max - : max = max(S). k - , : k = |{0,...,max} \ S|.
n S . O(n). , k, O(nlogn), O(n).
, n, k O(n) + O(nlogn) + O(n) = O(nlogn).
, S. ? ( ), . e? , :
- ,
e e, .e+1, e-1, ee+1, e-1 S, ee-1, e+1 S, e- ,
e .
, , , O(logn). 4 5. , ( ). 3. 6. , , , O(logn), "" , O(logn).
k, . , <= n/2, O(n) .
, , n O(nlogn) + O(n) k , O(nlogn).
.
array max .
e, array[e] = true. , , .
, f, array[f] == false. O(max).
n k : O(n) + O(max). max = n + k, O(n + k).
, , , : , .
S -, S max. k, R, {0,...,max}. S S R.
O(n + k).