Permutations of an array

https://leetcode.com/problems/permutations/

by Hari Menon

HTML

<div id="output"></div>

JavaScript

'use strict';

/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var permute = function (nums) {
    var result = [];
    var len = nums.length;

    if (len === 0) {
        result.push([]);
        return result;
    }

    for (var i = 0; i < len; i++) {
        var before = nums.slice(0, i);
        var after = nums.slice(i + 1, len);
        var partials = permute(before.concat(after));

        for (var j = 0; j < partials.length; j++) {
            var perm = partials[j].slice();
            perm.unshift(nums[i]);
            result.push(perm);
        }
    }
    return result;
};

/* console.log(permute([1]).join('\n'));
console.log(permute([1,2]).join('\n'));
 */
 
 
document.querySelector('#output').innerHTML = permute([0,1,2,3,4]).join('<br />');