def f(array, mn, mx):
count_freq = [0] * (mx - mn + 1) # to store frequency
for i in array:
count_freq[i] += 1 # populate frequency
result = [] # to be returned
for i in range(mn, mx +1):
result += [i] * count_freq[i]
return result
Когда вызывается f ([1, 4, 7, 2, 1, 3, 2, 1, 4, 2, 3, 2, 1], 0, 7), это выход [1 , 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 7] Где MX - максимум, а MN - минимальное число в массиве, поэтому, следовательно, сложность времени O (N)?