This practice workspace is built for desktop. Open it on a larger screen to start solving.
K Closest Points to Origin
Given an array points where points[i] = [xi, yi] and an integer k, return the k points closest to the origin (0, 0) by Euclidean distance.
The answer must be returned sorted lexicographically as [[x1, y1], [x2, y2], ...] (ascending by x, ties broken by y). This makes the output deterministic when multiple solutions could legitimately disagree on tie-breaking — for example, when several points are equidistant from the origin, a heap-based and a sort-based solution might naturally emit them in different orders.
You may use any approach (max-heap of size k, sort by distance, or quickselect). Just remember to sort the final k points lexicographically before returning.
Examples
Constraints
- 1 <= k <= points.length <= 10^4
- -10^4 <= xi, yi <= 10^4
Preview Mode
This is a read-only preview of DSAMind's AI coaching. Sign up to get custom feedback on your own solution.
Your approach
- Pattern:Heap
- Time:O(N)
- Space:O(1)
Complete approach — pattern and complexity both named.
Coach
What you got right
You correctly matched the sorted input requirement and implemented a linear-time scan using two pointers.
Where it diverged
No divergence detected. The code correctly aligns with the stated approach.
Next attempt: focus on
Try solving related sliding window problems to build familiarity with two-pointer variants.
Signals
No signals fired — clean run, you stayed in flow.