好吧,我已经得到了许多元素对(s,h)
,其中在二维数组的第 - 行s
发送一个h
元素。s
不必每行具有相同数量的元素,只知道不能超过一行中的 N 个元素。
我想要做的是找到第一行的某个元素与其他元素之间的最小最大差异(!)。
因此,如果我有 3 行,而(101,92) (100,25,95,52,101) (93,108,0,65,200)
我想要找到的是 3,因为我必须选择 92,我从第一到第二有 95-92=3,从第一到第三有 93-92=1。
我已经达到了一个点,如果我有每个元素的s
行和,那么在从第一行向其他行选择最佳拟合时,可以有一个良好的平均性能场景。n(i)
i=0..s
n0<=n1<=...<=ns
但是,在某些情况下,我想不出低于 O(n 2 ) 甚至可能是 O(n 3 ) 的方法。有没有人建议一种相当改进的方法来做到这一点?