-
Notifications
You must be signed in to change notification settings - Fork 0
/
s004_e00395.py
39 lines (31 loc) · 1.59 KB
/
s004_e00395.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# -*- coding: utf-8 -*-
"""
Created on Thu Apr 7 14:22:41 2022
@author: Luke
Prompt
Given two integer arrays arr1 and arr2, and the integer d, return the distance value between the two arrays. The distance value is defined as the number of elements arr1[i] such that there is not any element arr2[j] where |arr1[i]-arr2[j]| <= d.
Example 1: Input: arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2 Output: 2 Explanation: For arr1[0]=4 we have: |4-10|=6 > d=2 |4-9|=5 > d=2 |4-1|=3 > d=2 |4-8|=4 > d=2 For arr1[1]=5 we have: |5-10|=5 > d=2 |5-9|=4 > d=2 |5-1|=4 > d=2 |5-8|=3 > d=2 For arr1[2]=8 we have: |8-10|=2 <= d=2 |8-9|=1 <= d=2 |8-1|=7 > d=2 |8-8|=0 <= d=2
Example 2: Input: arr1 = [1,4,2,3], arr2 = [-4,-3,6,10,20,30], d = 3 Output: 2
Example 3: Input: arr1 = [2,1,100,3], arr2 = [-5,-2,10,-3,7], d = 6 Output: 1
Constraints:
1 <= arr1.length, arr2.length <= 500 -10^3 <= arr1[i], arr2[j] <= 10^3 0 <= d <= 100
"""
class Solution:
def findTheDistanceValue(self, arr1: list, arr2: list, d: int) -> int:
res = 0
for i in arr1:
flag = True
for j in arr2:
if abs(i - j) <= d:
flag = False
break
if flag:
res += 1
return res
#%% test cases
sol = Solution()
print(sol.findTheDistanceValue([4,5,8],[10,9,1,8],2))
print(sol.findTheDistanceValue([1,4,2,3],[-4,-3,6,10,20,30],3))
print(sol.findTheDistanceValue([2,1,100,3],[-5,-2,10,-3,-7],6))
print(sol.findTheDistanceValue([1001,1002,-1003,-1004],[997,996,995,-1000],4))
print(sol.findTheDistanceValue([1,2,100,-500],[-50,-250,50,250],45))