Ho n numero di matrici unidimensionali simile a:
[0,0,0,0,0,1,1,1,0,0,1,1,...]
0 e 1 indicano l'occupazione.
E k numero di array più piccoli simili a:
[2,2,2], [2,2], [2], [2,2,2,2]
con dimensioni diverse. Quello che voglio fare è vedere dove e come posso adattare gli array più piccoli (secondari) agli array più grandi che si susseguono l'uno con l'altro. Esempio:
Domain Arrays:
[0000111001]
[0011011001]
[0011100001]
[0000100001]
Smaller Arrays:
[22]
[2]
[222]
Result:
[0020111001]
[2211011001]
[0012220001]
[0000100001]
o
[0000111001]
[0011011001]
[0012200001]
[0020122201]
Spero di poterlo scrivere bene nelle parole.
La mia soluzione è:
Individuazione di punti vuoti che possono adattarsi a tutti gli array più piccoli. E creando un albero con possibili combinazioni come;
1-Il primo piccolo array va al secondo grande array 3 ° indice e occupa 3 spazi Il secondo array di 2 secondi passa ai primi big array al 7 ° indice e occupa 4 spazi
ecc.
e ottengo i pattern di ogni ramo sull'albero con la profondità del conteggio dell'array più piccolo. Ma ovviamente funziona lentamente. Quali algoritmi posso utilizzare per risolvere questo problema? Grazie in anticipo.