Нахождение ближайших K точек от начала координат - PullRequest
0 голосов
/ 19 ноября 2018

У меня следующая проблема: учитывая список координат точки, возвращающих k ближайшую точку к началу координат, тип возвращаемого значения должен быть списком координат.Я работал над этим кодом, но мне нужно исправить тип возвращаемого объекта smalllestkpoints, чтобы он соответствовал типу возвращаемого значения метода closestPoints.Какие-нибудь мысли?

import java.lang.Math;
import java.util.List;
import java.util.Arrays;
import java.util.Hashtable;
import java.lang.Integer;
import java.lang.Double;

public class ClosestKPoints {

    //distance to origin
    public static Double distance(Integer x, Integer y) {

        double powX = Math.pow(x, 2);
        double powY = Math.pow(y, 2);

        return (Double)(Math.sqrt(powX + powY));
    }


    public static List<List<Integer>> closestPoints(int k, List<List<Integer>> points, int all) {

        Hashtable<Double,List<Integer>> pt = new Hashtable();
        Double [] dt = new Double[all];//where we store distances later to be sorted
        List<List<Integer>> smallestKPoints;//to be used as return result


        for (int i = 0; i <points.size(); i++) {
            List<Integer> in = points.get(i);
            for (int j = 0; j < in.size() - 1; j++) {
                Integer x = in.get(j);
                Integer y = in.get(j + 1);
                pt.put(distance( x, y), points.get(i));
                dt[i] = distance(x, y);
            } 

        }

        Arrays.sort(dt);

        for (int n = 0; n < k; n++) {
            List<Integer> smallestKPoints = pt.get(dt[n]);
        }

        return smallestKPoints;

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...