K ближайших точек к началу координат

MediumAlgo
05:00
Лучше работает на десктопе
HeapSortingMath

Дан массив точек points, где points[i] = [xi, yi], и число k. Верните k ближайших точек к началу координат (0, 0).

Расстояние — евклидово: √(x² + y²). Результат отсортирован по расстоянию. При равных расстояниях — по x, затем по y.

Сигнатура

def k_closest(points: list[list[int]], k: int) -> list[list[int]]:

Примеры

k_closest([[1, 3], [-2, 2]], 1) → [[-2, 2]]
k_closest([[3, 3], [5, -1], [-2, 4]], 2) → [[3, 3], [-2, 4]]

Constraints

- 1 ≤ k ≤ len(points) ≤ 10⁴
- -10⁴ ≤ xi, yi ≤ 10⁴

Примеры

Пример 1

Вход:
points = [[1,3],[-2,2]]
k = 1
Выход:[[-2,2]]

Пример 2

Вход:
points = [[3,3],[5,-1],[-2,4]]
k = 2
Выход:[[3,3],[-2,4]]

Пример 3

Вход:
points = [[0,0],[1,1]]
k = 2
Выход:[[0,0],[1,1]]
Консоль
Нажмите Run или Ctrl+Enter для запуска