Поиск K ближайших элементов

сложно

Дан массив nums, а также числа k и target. Нужно вернуть k ближайших чисел к target из массива nums, отсортированных в возрастающем порядке.

Число a считается ближе к target, чем число b, если:

  • |a - target| < |b - target|
  • |a - target| == |b - target|, но a < b

Если k <= 0 или k > len(nums), то нужно вернуть пустой массив в качестве ответа.

Пример 1:

Ввод: nums = [1,3,5,6,8,9], target = 2, k = 3
Вывод: [1,3,5]

Пример 2:

Ввод: nums = [2,3,3,4,5,6,7], target = 3, k = 3
Вывод: [2,3,3]
Объяснение: 4 > 2, поэтому берем [2,3,3], а не [3,3,4]

Ограничения:

  • len(nums) >= 1