问题描述
如果有两个有序数组a1 a2 都是升序 怎么尽量减少时间复杂度 找到a1 a2中元素之差(距离)最小值的一对
举例
{1,7,100} {3,11,101} 最小距离是1
如果有两个有序数组a1 a2 都是升序 怎么尽量减少时间复杂度 找到a1 a2中元素之差(距离)最小值的一对
{1,7,100} {3,11,101} 最小距离是1
#include <iostream>
using namespace std;
int abs(int a) { return a > 0 ? a : - a; }
int main()
{
int a[] = {1,7,100};
int b[] = {3,11,101};
int n = 3;
int min = abs(a[0] - b[0]);
for (int i = 1; i < n; i++)
{
if (abs(a[i] - b[i]) < min) min = abs(a[i] - b[i]);
}
cout << min;
}