Назад к вопросам
Junior
17
За какое время будет работать решение с использованием встроенного sorted? Можно ли придумать более быстрое решение?
Компании, где спрашивали
Яндекс
Ответ от нейросети
sobes.tech AI
Встроенная функция sorted в Python работает за время O(n log n), где n — количество элементов в списке. Это оптимальное время для общего случая сортировки сравнениями.
Если задача позволяет использовать более специфичные алгоритмы (например, сортировка подсчетом, если элементы — целые числа в ограниченном диапазоне), можно добиться времени O(n).
Пример более быстрого решения для сортировки целых чисел в диапазоне:
# Сортировка подсчетом для чисел от 0 до 100
def counting_sort(arr):
count = [0] * 101
for num in arr:
count[num] += 1
sorted_arr = []
for num, c in enumerate(count):
sorted_arr.extend([num] * c)
return sorted_arr
Если же данные не подходят для таких алгоритмов, то sorted — оптимальный выбор.