k_smallest: k наименьших элементов без порчи исходного списка
Напишите функцию k_smallest(nums: list[int], k: int) -> list[int].
Вход. Список целых чисел nums (может быть пустым, может содержать дубликаты и отрицательные) и целое k.
Выход. Новый список из k наименьших элементов, отсортированный по возрастанию.
Поведение на краевых входах.
k <= 0— вернуть пустой список.kбольше длиныnums— вернуть все элементы по возрастанию.- Пустой
nums— вернуть пустой список. - Дубликаты считаются отдельными элементами: для
[4, 4, 4, 9]иk = 2ответ[4, 4].
Отдельное требование. Исходный список nums изменять нельзя — после вызова он должен остаться в прежнем порядке.
заготовка решения
def k_smallest(nums: list[int], k: int) -> list[int]:
# ваш код
pass