Нашли ошибку?

Потерянные оценки

ЛёгкаяНайти ошибку2 ошибкиГлава 4

#быстрая сортировка#базовый случай#дубликатыid: ga-sort-scores

Функция sort_scores(scores) сортирует оценки по возрастанию быстрой сортировкой, но часть оценок теряется. В ней две ошибки — найдите и исправьте их.

Примеры

sort_scores([4, 2, 5, 2, 3])  # [2, 2, 3, 4, 5]
sort_scores([5])              # [5]

Решение

def sort_scores(scores: list[int]) -> list[int]:
    """Возвращает новый список оценок по возрастанию (быстрая сортировка)."""
    if len(scores) < 2:
        return []
    pivot = scores[0]
    less = [s for s in scores[1:] if s < pivot]
    greater = [s for s in scores[1:] if s > pivot]
    return sort_scores(less) + [pivot] + sort_scores(greater)

Можно решать и в своём редакторе: «Скопировать с тестами» и запустите python3 sort_scores.py — тесты те же, результат покажет ✓ / ✗ и итог.