# Write a program to find permutations

## # 46. Permutations

Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.

### Example 1: ``` Input: nums = [1,2,3] Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] ```

### Example 2: ``` Input: nums = [0,1] Output: [[0,1],[1,0]] ```

Constraints: ``` 1 <= nums.length <= 6 -10 <= nums[i] <= 10 All the integers of nums are unique. ```

## Permutation code:

/** * @param {number[]} nums * @return {number[][]} */ const permutation = (s) => { const out = []; const permute = (item, used) => { if (item.length === s.length) { out.push(Array.from(item)); return; } for (let i = 0; i < s.length; i++) { if (used[i]) { continue; } item.push(s[i]); used[i] = true; permute(item, used); used[i] = false; item.pop(); } }; permute([], Array(s.length).fill(false)) console.log(out); }; permutation('abc');

// Output [ ["a", "b", "c"], ["a", "c", "b"], ["b", "a", "c"], ["b", "c", "a"], ["c", "a", "b"], ["c", "b", "a"] ]