Sobes.tech
Назад к вопросам
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 — оптимальный выбор.