LeetCode 面试题 16.06. 最小差

题目:https://leetcode-cn.com/problems/smallest-difference-lcci/

 

思路:

先排序,然后双指针,如果a[i] > b[j]我们就让j++。a[i]

class Solution {
public:
    int smallestDifference(vector& a, vector& b) {
        sort(a.begin(),a.end());
        sort(b.begin(),b.end());
        long  minn = 2147483647;
        int i=0,j=0;
        while(i < a.size() && j < b.size()){
            if(a[i]==b[j]) return 0;
            minn = min(minn,abs(long(a[i]) - b[j]));
            if(a[i] < b[j]){
                i++;
            }
            else{
                j++;
            }
        }        
        return minn;
    }
};

 

你可能感兴趣的:(LeetCode)