给定两个整数数组(第一个是数组 A
,第二个是数组 B
),在数组
A 中取 A[i],数组 B 中取 B[j],A[i] 和 B[j]两者的差越小越好(|A[i] - B[j]|)。返回最小差。
样例
给定数组 A = [3,4,6,7]
, B
= [2,3,8,9]
,返回 0
。
class Solution {
public:
int smallestDifference(vector<int> &A, vector<int> &B) {
int n1=A.size(),n2=B.size();
sort(A.begin(),A.end());
sort(B.begin(),B.end());
int res=INT_MAX;
int i=0,j=0;
while(i<n1&&j<n2){
res=min(res,abs(A[i]-B[j]));
if(A[i]>B[j]) j++;
else if(A[i]<B[j]) i++;
else break;
}
return res;
}
};