Heim >Web-Frontend >js-Tutorial >Wie kann ich alle Permutationen eines Integer-Arrays in JavaScript effizient generieren?
Array-Permutationen in JavaScript identifizieren
Um alle Permutationen eines Arrays von Ganzzahlen zu berechnen, müssen bei der Anpassung stringbasierter Algorithmen Nuancen berücksichtigt werden um an Arrays zu arbeiten.
Die ursprüngliche Funktion (entwickelt für Strings) verfolgt Zeichen über Zeichen und verwendete Zeichen Arrays. Es durchläuft jedes Zeichen, fügt es zu usedChars hinzu und ruft rekursiv Permute für die verbleibenden Zeichen auf.
Anpassung an Ganzzahlen
Um Arrays von Ganzzahlen zu berücksichtigen, sind Änderungen erforderlich:
Überarbeitete Funktion für Arrays
Die überarbeitete Funktion unten befasst sich mit den oben genannten Anpassungen:
function permute(inputArr) { const permArr = []; const usedInts = []; for (let i = 0; i < inputArr.length; i++) { const el = inputArr.splice(i, 1); usedInts.push(el); if (inputArr.length === 0) { permArr.push(usedInts.slice()); } permute(inputArr.slice()); inputArr.splice(i, 0, el); usedInts.pop(); } return permArr; }
Verwendungsbeispiele
Mit der überarbeiteten Funktion können wir Permutationen für Arrays von berechnen ganze Zahlen:
console.log(permute([1, 2, 3, 4])); // [[1, 2, 3, 4], [1, 2, 4, 3], ...] console.log(permute([5, 6, 7])); // [[5, 6, 7], [5, 7, 6], ...]
Das obige ist der detaillierte Inhalt vonWie kann ich alle Permutationen eines Integer-Arrays in JavaScript effizient generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!