### An algorithm to print all the unique 2 digit combinations.

We will implement a simple algorithm to print all the unique 2 digit combinations of given numbers in javascript.

#### Example

Input: [1, 2, 3] [1, 2, 3, 4, 5] Output: 1 2 1 3 2 3 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5

#### Implementation

- We will first remove the duplicate numbers from the given list of numbers using SET.
- Then we will loop through each item of the array and print its combinations with every next element using inner loop.
- We will use ES6.

let combinations = (arr) => { //remove duplicate numbers let set = new Set(arr); //create new error from the unique numbers arr = [...set]; //print all the combinations for(let i = 0; i < arr.length - 1; i++){ for(let j = i + 1; j < arr.length; j++){ console.log(arr[i], arr[j]); } } }

Input: combinations([1, 2, 3]); combinations([1, 2, 3, 4, 5]); Output: 1 2 1 3 2 3 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5

Learn more about SET and `...`

spread operator.

Time complexity: O(n^2).

Space complexity: O(n).

#### Time and Space complexity

- We are remove duplicate numbers from array which will take O(n) and then creating an array of unique numbers in O(n). After that printing the combinations of numbers will take n * n - 1 * n - 2 * ... i.e O(n^2), so Time complexity is O(n^2).
- We are using SET to store the unique numbers, so Space complexity is O(n).