Найти ближайшие числа между массивами
Задание звучит сложно, постараюсь объяснить на форме вводе/выводе Ввод должен быть
n = одно число, длина массива а
а = массив чисел, - 4 3 1 5 6 (например)
m = число, длина массива b
b = массив чисел
Необходимо найти для каждого n числа ближайшее m число Я видимо что-то неправильно делаю
n = int(input())
a = [int(el) for el in input().split()]
m = int(input())
b = [int(el) for el in input().split()]
res = int(a[0])
for i in range(n):
for j in range(m):
if abs(i - b[i]) < abs(res - b[i]):
res = i
print(res)
Например ввод:
4
1 2 6 10
2
7 3
Вывод:
2
2
1
1
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
Если я правильно понял задание, то наоборот - надо искать во втором массиве ближайшее для каждого числа из первого
res = int(a[0])
for x in a:
bmin = min(b, key=lambda i: abs(i - x))
print(b.index(bmin),': ', bmin)
1 : 3
1 : 3
0 : 7
0 : 7