gpt4 book ai didi

Java 按距离排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:48 27 4
gpt4 key购买 nike

我有一个像这样的二维数组:

{1,3,5,6,2,2}

{6,2,4,7,2,1}

{17,28,32,1,35,45}

...

我有一个函数可以计算任意两个数组之间的欧氏距离。假设距离函数正确运行,那么对二维数组进行排序的最佳方法是什么,以便交换二维数组中的数组,使得彼此最接近的(距离方面)彼此接近二维数组?

编辑

这是否又归结为旅行商问题?

最佳答案

我会使用一个 TreeSet 和一个比较器。

public class EuclidComparator implements Comparator<int[]> {

@Override
public int compare(int[] o1, int[] o2) {

return euclid_distance(o1, o2);

}

}

排序方式:

    TreeSet<int[]> sort = new TreeSet<int[]>(new EuclidComparator());
sort.addAll(Arrays.asList(arrays));

或者更简单:

    Arrays.sort(arrays, new EuclidComparator());

关于Java 按距离排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4250145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com