Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何求数组中所有子集的最大距离_Java_Algorithm_Performance_Subset_Distance - Fatal编程技术网

Java 如何求数组中所有子集的最大距离

Java 如何求数组中所有子集的最大距离,java,algorithm,performance,subset,distance,Java,Algorithm,Performance,Subset,Distance,我的面试问题如下: 假设我们有一条直线,这条直线上有M个点。如果我们定义具有N(N的点子集的距离,您需要对数组进行排序,并找到第一个元素(最小),M将始终是最后一个元素(最大),因此子集将始终是{最小,最大}。将事物沿直线排列通常是动态编程可以工作的提示 从左到右,在直线上的每一点上,k=1…n,其中k个点的集合在迄今为止所看到的具有最大最小距离的点上。你可以从你已经解出的点的左边解出一个点的答案。为了找到K点的答案,考虑每一个点。T到其左边并找到最小值(K-1点在该点上的最小距离,从当前点到该

我的面试问题如下:


假设我们有一条直线,这条直线上有M个点。如果我们定义具有N(N的点子集的距离,您需要对数组进行排序,并找到第一个元素(最小),M将始终是最后一个元素(最大),因此子集将始终是{最小,最大}。

将事物沿直线排列通常是动态编程可以工作的提示


从左到右,在直线上的每一点上,k=1…n,其中k个点的集合在迄今为止所看到的具有最大最小距离的点上。你可以从你已经解出的点的左边解出一个点的答案。为了找到K点的答案,考虑每一个点。T到其左边并找到最小值(K-1点在该点上的最小距离,从当前点到该点的距离)。然后取这些可能值的最大值。

看起来只有在n=1的情况下才适用于边缘情况。考虑n=2的例子,但是输入<代码> { 1, 10, 2 }。考虑N也是一个输入,你的方法只在n=2时起作用。