'K' Closest Points to the Origin (easy)
Problem Statement
Given an array of points in a plane, find ‘K’ closest points to the origin.
Example 1:
Input: points = [[1,2],[1,3]], K = 1
Output: [[1,2]]
Explanation: The Euclidean distance between (1, 2) and the origin is sqrt(5).
The Euclidean distance between (1, 3) and the origin is sqrt(10).
Since sqrt(5) < sqrt(10), therefore (1, 2) is closer to the origin.
Example 2:
Input: point = [[1, 3], [3, 4], [2, -1]], K = 2
Output: [[1, 3], [2, -1]]
Try it yourself
Try solving this question here:
import java.util.*;class Point {int x;int y;public Point(int x, int y) {this.x = x;this.y = y;}public int distFromOrigin() {// ignoring sqrtreturn (x * x) + (y * y);}}class KClosestPointsToOrigin {public static List<Point> findClosestPoints(Point[] points, int k) {ArrayList<Point> result = new ArrayList<>();// TODO: Write your code herereturn result;}public static void main(String[] args) {Point[] points = new Point[] { new Point(1, 3), new Point(3, 4), new Point(2, -1) };List<Point> result = KClosestPointsToOrigin.findClosestPoints(points, 2);System.out.print("Here are the k points closest the origin: ");for (Point p : result)System.out.print("[" + p.x + " , " + p.y + "] ");}}
Solution
The Euclidean distance of a point P(x,y) ...