📅  最后修改于: 2023-12-03 15:11:33.171000             🧑  作者: Mango
这是一个关于求解数对差最小值的问题,可以用动态规划来解决。我们可以先将数组排序,然后从前往后遍历数组,用当前元素与上一个元素的差值更新一个最小值变量,同时用一个指针指向最小值的位置,直到遍历完整个数组。
以下是示例代码(使用Python):
def min_difference(arr):
arr.sort()
min_diff = float('inf')
min_index = 0
for i in range(1, len(arr)):
diff = arr[i] - arr[i-1]
if diff < min_diff:
min_diff = diff
min_index = i-1
return (arr[min_index], arr[min_index+1])
该函数接受一个整型列表作为参数,返回数对差最小的两个数。时间复杂度为$O(n\log n)$。