本文主要是介绍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)---- 二分算法学习期的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!