[leetcode, JS] 46. Permutations

mxxn·2023년 9월 11일
0

leetcode

목록 보기
72/198

문제

문제 링크 : Permutations

풀이

/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var permute = function(nums) {
    let arr = [...nums]
    let num = arr.length
    const results = [];

    if (num === 1) return arr.map(v => [v]);

    arr.forEach((fixed, index, origin) => {
        const rest = [...origin.slice(0, index), ...origin.slice(index + 1)];
        
        const permutations = permute(rest, num - 1);

        const attached = permutations.map(v => [fixed, ...v]);

        results.push(...attached);
    });

    return results;
};
  1. 재귀로 순열 구하는 풀이
  • Runtime 86 ms, Memory 52 MB
  • 런타임, 메모리 효율 극악
profile
내일도 글쓰기

0개의 댓글