def subtract_arrays(a, b):
c = []
subtracted_nums = set() # Keep track of already subtracted numbers
for i in range(len(a)):
min_diff = float('inf')
closest_num = None
for j in range(len(b)):
if b[j] <= a[i] and b[j] not in subtracted_nums:
diff = abs(a[i] - b[j])
if diff < min_diff:
min_diff = diff
closest_num = b[j]
if closest_num is not None:
c.append(a[i] - closest_num)
subtracted_nums.add(closest_num)
return c
n = [3, 6, 10, 12]
m = [1, 2, 3, 4, 5, 8, 10, 13]
s = subtract_arrays(n, m)
print(s)
def subtract_arrays(a, b):
c = []
for i in range(len(a)):
min_diff = float('inf')
for j in range(len(b)):
if b[j] <= a[i] and b[j] not in c:
diff = abs(a[i] - b[j])
if diff < min_diff:
min_diff = diff
closest_num = b[j]
c.append(a[i] - closest_num)
return c
n = [3, 6, 10, 12]
m = [1, 2, 3, 4, 5, 8, 10, 13]
s = subtract_arrays(n, m)
print(s)
def subtract_arrays(a, b):
b = set(b)
c = []
for i in range(len(a)):
min_diff = float('inf')
for j in range(len(b)):
if b[j] <= a[i]:
diff = abs(a[i] - b[j])
if diff < min_diff:
min_diff = diff
closest_num = b[j]
if closest_num in b:
b.remove(closest_num)
c.append(a[i] - closest_num)
return c
n = [3, 6, 10, 12]
m = [1, 2, 3, 4, 5, 8, 10, 13]
s = subtract_arrays(n, m)
print(s)
def subtract_arrays(a, b):
c = []
for i in range(len(a)):
min_diff = float('inf')
for j in range(len(b)):
if b[j] <= a[i] and b[j] != closest_num:
diff = abs(a[i] - b[j])
if diff < min_diff:
min_diff = diff
closest_num = b[j]
c.append(a[i] - closest_num)
return c