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

k-й по скорости бегун

СредняяРеализацияГлава 4

#разделяй и властвуй#быстрая сортировка#опорный элементid: ga-kth-smallest

Даны результаты забега в секундах, возможно с повторами. Напишите kth_fastest(times, k): функция возвращает k-й по величине результат (k = 1 — самый быстрый), не сортируя весь список. Используйте идею быстрой сортировки: после разбиения по опорному элементу рекурсия нужна только в одну часть.

Примеры

kth_fastest([61, 58, 70, 58, 64], 1)  # 58
kth_fastest([61, 58, 70, 58, 64], 2)  # 58 — повторы считаются
kth_fastest([61, 58, 70, 58, 64], 3)  # 61

Ограничения

Решение

def kth_fastest(times: list[int], k: int) -> int:
    """Возвращает k-й по величине (k = 1 — минимальный) элемент списка."""
    # ваш код
    raise NotImplementedError

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