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 />');