# 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"]
]
```