Find the Distance Value Between Two Arrays LeetCode solution in C++

1
class Solution {
2
public:
3
int findTheDistanceValue(vector<int> &arr1, vector<int> &arr2, int d) {
4
sort(arr2.begin(), arr2.end());
5
int ans = 0;
6
for (int i : arr1) {
7
int id = lower_bound(arr2.begin(), arr2.end(), i) - arr2.begin();
8
int closest = d + 1;
9
if (id != arr2.size()) {
10
closest = min(abs(arr2[id] - i), closest);
11
}
12
if (id != 0) {
13
closest = min(abs(arr2[id - 1] - i), closest);
14
}
15
if (closest > d) ans++;
16
}
17
return ans;
18
}
19
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0