150 najlepszych wywiadówŁatwe

K Punkty najbliższe początku

Szczegółowy przewodnik i implementacja Python dla problemu „K punktów najbliższych pochodzenia”.

Oświadczenie o problemie

Łatwe

Mając tablicę punktów, gdzie punkty[i] = [xi, yi] reprezentują punkt na płaszczyźnie X-Y i liczbę całkowitą k, zwróć k punktów położonych najbliżej początku układu współrzędnych (0, 0).

Odległość między dwoma punktami na płaszczyźnie X-Y to odległość euklidesowa (tj. sqrt((x1 - x2)^2 + (y1 - y2)^2)).

Odpowiedź możesz zwrócić w dowolnej kolejności. Gwarantujemy, że odpowiedź będzie unikalna (z wyjątkiem kolejności, w jakiej występuje).

Napisz funkcję kClosest(points: List[List[int]], k: int) -> List[List[int]].

Ograniczenia
  • 1 <= k <= len(points) <= 10^4
  • -10^4 <= xi, yi <= 10^4

Przykłady

Example 1
Input
points = [[1,3],[-2,2]], k = 1
Output
[[-2,2]]
Explanation

The distance from (1, 3) to the origin is sqrt(10). The distance from (-2, 2) to the origin is sqrt(8). Since sqrt(8) < sqrt(10), (-2, 2) is closer to the origin.

Example 2
Input
points = [[3,3],[5,-1],[-2,4]], k = 2
Output
[[3,3],[-2,4]]
Explanation

The closest two points are (3, 3) and (-2, 4). (Order of elements in the output does not matter).

Need a Hint?
Rozważ użycie struktur danych specyficznych dla sterty/kolejki priorytetowej, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.