the-smallest-difference

给定两个整数数组(第一个是数组 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;
    }
};


你可能感兴趣的:(the-smallest-difference)