К задачам

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

СредняяАлгоритмы
Лучше работает на десктопе
HeapСортировкаМатематика

Дан массив точек 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]]:

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]]
Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
05:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
K ближайших точек к началу координат — Алгоритмы задача — ML Mentor