Problem title
Difficulty
Avg time to solve

Diagonal Traversal of a binary tree.
Easy
10 mins
Moderate
25 mins
Number Of Triangles In An Undirected Graph
Moderate
10 mins
N-th Node From The End
Easy
10 mins
Toggle K bits
Easy
10 mins
Bit Set
Easy
15 mins
String Maker
Hard
50 mins
Build Heap
Moderate
30 mins
Maximum Value Of Equation
Moderate
15 mins
Triple Sum
Easy
15 mins 5

# Permutations

Difficulty: MEDIUM
Avg. time to solve
10 min
Success Rate
90%

Problem Statement

#### Given an array of distinct integers, return all the possible permutations of the array.

##### Example:
``````'ARR[]' = [1, 2]

The size of the array is 2. So, the total number of permutations is 2! = 2. The possible permutations are [1, 2] (the array itself) and [2,1] where the position of element 1 in the original array is swapped with element 2 and vice-versa.
``````
##### Note:
``````1. All the numbers in the array are unique.

2. You can return the answer in any order.

3. The original array is also a permutation of the given array.
``````
##### Input format:
``````The first line of input contains an integer ‘T’ denoting the number of test cases.

The first line of each test case contains ‘N’ denoting the total number of elements in the array.

The second line of each test case contains ‘N’ space-separated integers denoting the elements of the array 'ARR' whose all possible permutations are to be calculated.
``````
##### Output Format:
``````For each test case, return all the possible permutations of the given array of integers.
``````
##### Note:
``````You don't need to print anything, it has already been taken care of. Just implement the given function.
``````
##### Constraints:
``````1 <= T <= 10
1 <= N <= 7
-10 ^ 9 <= ARR[i] <= 10 ^ 9

Where ‘ARR[i]’ denotes the range of elements in the array.

Time limit: 1 sec
``````
##### Sample input 1:
``````2
3
1 2 3
1
1
``````
##### Sample Output 1:
``````1 2 3   1 3 2   2 1 3  2 3 1  3 1 2   3 2 1
1
``````
##### Explanation of Sample Output 1:
``````In test case 1, For [1,2,3], size of the array is 3. Therefore, number of permutations is 3!= 6. The possible 6 permutations are [[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]].

In test case 2, For , the size of the array is 1. Therefore, the number of permutations is 1!= 1. The only possible permutation is .
``````
##### Sample input 2:
``````2
2
0 1
3
4 5 6
``````
##### Sample output 2:
``````0 1  1 0
4 5 6   4 6 5   5 4 6   5 6 4   6 4 5   6 5 4
``````
##### Explanation of Sample Output 2:
``````In test case 1, For [0, 1], size of the array is 2. Therefore, number of permutations is 2! = 2. The possible 2 permutations are [[0, 1], [1, 0]].

In test case 2, For [4, 5, 6], the size of the array is 3. Therefore, the number of permutations is 3! =  6. The possible 6 permutations are [[4, 5, 6], [4, 6, 5], [5, 4, 6], [5, 6, 4], [6, 4, 5], [6, 5, 4]].
``````   Console