Leetcode 1385. 两个数组间的距离值(DAY 174)---- 二分算法学习期

文章目录


原题题目


Leetcode 1385. 两个数组间的距离值(DAY 174)---- 二分算法学习期


代码实现(首刷自解)


class Solution {
public:
    int findTheDistanceValue(vector<int>& arr1, vector<int>& arr2, int d) {
        int ret = 0;
        sort(arr2.begin(),arr2.end());
        for(const auto& num:arr1)
        {
            auto higher_one = upper_bound(arr2.begin(),arr2.end(),num);
            auto lower_one = lower_bound(arr2.begin(),arr2.end(),num);
            if((higher_one != arr2.end() && *higher_one - num <= d) || (lower_one != arr2.end() && abs(num - *lower_one) <= d))
                continue;
            else
            {
                if(lower_one == arr2.begin() || abs(num - *(--lower_one) > d)) ++ret;
            }
        }
        return ret;
    }
};
上一篇:[CISCN2019 华东南赛区]Web11 和[MRCTF2020]套娃


下一篇:pat乙级1005继续(3n+1)猜想