Упростите два пустых массива, удалив соответствующие суммы элементов - PullRequest
0 голосов
/ 15 октября 2019

Предположим, у меня есть два пустых массива в Python с целочисленными элементами

import numpy as np
a = np.array([2,2,3,6,8,12])
b = np.array([1,4,4,15])

Для каждого элемента в b я хочу удалить термины из a, которые к нему добавляются. То есть, поскольку

b [3] = a [2] + a [5], я хочу вернуть новые массивы

a = (2,2,6,8)
b = (1,4,4)

Точно так же мы имеем b [1] =a [0] + a [1], поэтому рекурсивный вывод должен быть

a = (6,8)
b = (1,4)

Поскольку никакие дополнительные элементы b не могут быть построены из суммы элементов в a, приведенные выше массивы должныбыть концомЯ хотел бы использовать это для произвольного массива numy

a = np.sort(np.random.randint(1,11,m))   
b = np.sort(np.random.randint(1,11,n))

для некоторых m и n для возврата упрощенных списков.

Примечание: На основепри обсуждении с @hpaulj и @HansMusgrave:

Есть несколько способов заставить суммы работать. Порядок удаления не важен. Единственным показателем является попытка достичь большинства удалений, чтобы получающиеся массивы a и b были минимизированы по длине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...