题目链接:http://115.28.203.224/problem.php?cid=1011&pid=7
题目描述
已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离
输入
已知元素从小到大排列的两个数组x[]和y[],请写出一个程序算出两个数组彼此之间差的绝对值中最小的一个,这叫做数组的距离
输出
数组的最短距离
样例输入
5 5
1 2 3 4 5
6 7 8 9 10
样例输出
1
代码
#include <iostream>
using namespace std;
int abs(int n)
{
return n>0 ? n : -n;
}
int main()
{
int m, n, i, j, t, min;
int f[1000], g[1000];
cin>>m>>n;
for (i = 0; i < m; i++)
cin>>f[i];
for (i = 0; i < n; i++)
cin>>g[i];
min = abs(f[0]-g[0]);
i = 0;
j = 0;
while (i < m)
{
if (f[i] < g[j])
{
t = abs(f[i]-g[j]);
if (t< min)
min = t;
i++;
}
else if (f[i] == g[j])
{
min = 0;
break;
}
else
{
j++;
if (j >= n)
{
i++;
j = 0;
}
}
}
cout<<min<<endl;
return 0;
}
460

被折叠的 条评论
为什么被折叠?



