Advertisement
K_S_

Untitled

Nov 4th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.00 KB | None | 0 0
  1. class Solution {
  2.     public int[][] kClosest(int[][] points, int K) {
  3.         PriorityQueue<Point> pq = new PriorityQueue<>(K);
  4.  
  5.         for (int[] point : points) {
  6.             double distance = distance(point);
  7.             Point p = new Point();
  8.             p.distance = distance;
  9.             p.point = point;
  10.             pq.add(p);
  11.         }
  12.  
  13.         int[][] result = new int[K][2];
  14.         for (int i = 0; i < K; i++) {
  15.             result[i] = pq.poll().point;
  16.         }
  17.         return result;
  18.     }
  19.  
  20.     private double distance(int[] point) {
  21.         int x = point[0];
  22.         int y = point[1];
  23.         double distance = Math.sqrt(x * x + y * y);
  24.         return distance;
  25.     }
  26.  
  27.     private static class Point implements Comparable<Point> {
  28.         int[] point;
  29.         double distance;
  30.  
  31.         @Override
  32.         public int compareTo(Point o) {
  33.             double td = this.distance;
  34.             double od = o.distance;
  35.             return Double.compare(td, od);
  36.         }
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement