(arr: Array<T>, start: number)
| 14 | const res: Array<Array<T>> = [] |
| 15 | |
| 16 | function permutate(arr: Array<T>, start: number) { |
| 17 | if (start === arr.length - 1) { |
| 18 | res.push([...arr] as any) |
| 19 | return |
| 20 | } |
| 21 | for (let i = start; i < arr.length; i++) { |
| 22 | ;[arr[start], arr[i]] = [arr[i]!, arr[start]!] |
| 23 | permutate(arr, start + 1) |
| 24 | ;[arr[start], arr[i]] = [arr[i]!, arr[start]] |
| 25 | } |
| 26 | } |
| 27 | permutate(arr, 0) |
| 28 | |
| 29 | return res |
no outgoing calls
no test coverage detected