Dos matrices, donde los elementos de la matriz x pueden estar en la matriz y, pero no al revés, prueban todas las permutaciones

Una pequeña aplicación que he escrito le permite a un usuario agregar varios elementos a dos arreglos. Alguna lógica calcula una figura a partir del contenido de cada matriz.

Cualquier elemento de la matriz x se puede colocar en la matriz y, y viceversa. Los elementos que pertenecen a la matriz y nunca se pueden mover (a menos que se hayan movido desde la matriz x).

El usuario puede mover estos elementos en dos listas utilizando una ui javascript simple. Para simplificar las cosas, originalmente hice un guión ingenuo que:

Se movió un elemento de a a y.Realizado algo de lógica utilizando esta 'posibilidad'.Si el resultado fue menor que antes, deje x en y.Si no, entonces x permanece en x.Pase al siguiente elemento en x y repita.

Sabía que esto era ineficaz. He leído y me han dicho que haga esto usando matemática a nivel de bits para recordar las posibilidades o 'permutaciones', pero estoy luchando por entender este problema en particular en esta etapa.

Si alguien pudiera explicar (el pseudo código está bien) cuál sería la mejor manera de lograr lo siguiente, estaría muy agradecido.

matriz x = [100,200,300,400,500] matriz y = [50,150,350,900]

Con estas dos matrices, para cada valor de x, presione cada combinación de ese valor y todos los demás valores de x en la matriz y. Para cada una de ellas realizaré alguna lógica (es decir, el resultado de la prueba y almacenaré esta 'permutación' en una matriz (un objeto de dos matrices que representan x e y). Preveo que esto es bastante costoso con matrices grandes, que probablemente se repita mucho Combinaciones. Siento que estoy casi allí, pero perdido en esta última etapa.

Lo siento por la larga explicación, y gracias de antemano!

Respuestas a la pregunta(1)

Su respuesta a la pregunta