150 principais entrevistasFácil

K pontos mais próximos da origem

Guia detalhado e implementação de Python para o problema 'K Closest Points to Origin'.

Declaração do problema

Fácil

Dada uma matriz de pontos onde points[i] = [xi, yi] representa um ponto no plano XY e um inteiro k, retorne os k pontos mais próximos da origem (0, 0).

A distância entre dois pontos no plano XY é a distância euclidiana (ou seja, sqrt((x1 - x2)^2 + (y1 - y2)^2)).

Você pode retornar a resposta em qualquer ordem. A resposta é garantidamente única (exceto pela ordem em que está).

Escreva uma função kClosest(points: List[List[int]], k: int) -> List[List[int]].

Restrições
  • 1 <= k <= len(points) <= 10^4
  • -10^4 <= xi, yi <= 10^4

Exemplos

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?
Considere usar estruturas de dados específicas de heap/fila de prioridade, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no Editor
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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.