C/C++教程

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;
    }
};
这篇关于Leetcode 1385. 两个数组间的距离值(DAY 174)---- 二分算法学习期的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!