JavaScript에서 배열 순열 식별
정수 배열의 모든 순열을 계산하려면 문자열 기반 알고리즘을 적용할 때 고려해야 할 미묘한 차이가 있습니다. 배열 작업에 사용됩니다.
원래 함수(문자열용으로 설계됨)는 문자를 추적합니다. chars 및 UsedChars 배열을 통해. 각 문자를 반복하여 이를 UsedChars에 추가하고 나머지 문자에 대해 순열을 반복적으로 호출합니다.
정수에 적응
정수 배열을 수용하려면 수정이 필요합니다.
배열에 대해 수정된 함수
아래 수정된 함수는 앞서 언급한 조정을 다룹니다.
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; }
사용 예
개정된 기능을 사용하면 정수 배열의 순열 계산:
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], ...]
위 내용은 JavaScript에서 정수 배열의 모든 순열을 효율적으로 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!