Рассмотрим два numpy массива a и b . a - некоторая перестановка целых чисел от 1 до 5, в то время как b - некоторая перестановка целых чисел от -5 до -1.
a = [ 1 3 4 2 5]
b = [-4 -3 -5 -1 -2]
Я хочу найти все массивы c , которые содержат 10 значений a и b , но порядок как a , так и b элементы должны быть сохранены.
Пример допустимого c:
c = [1 3 -4 -3 -5 4 2 -1 5 -2]
Пример неверного c: (-5 и -3 нарушают шаблон)
c = [1 3 -4 -5 -3 4 2 -1 5 -2]
Я нашел много случаев в stackoverflow, когда элементы массива чередуются чередующимся образом, но они здесь не применяются.Возможный подход может состоять в том, чтобы сгенерировать все одномерные массивы из пяти 0 и пяти 1 следующим образом:
[0 0 1 1 1 0 0 1 0 1]
Каждый 0 будет означать значение «next» a , а каждый 1 будет указыватьзначение 'next' b .
Я надеюсь, что будет эффективный способ справиться с этим.