Permutations of array in java

If you want to practice data structure and algorithm programs, you can go through Java coding interview questions.

In this post, we will see how to find all permutations of the array in java.


Problem 1

Given array of distinct integers, print all permutations of the array.

For example:

array : [10, 20, 30]

Permuations are :

[10, 20, 30] [10, 30, 20] [20, 10, 30] [20, 30, 10] [30, 10, 20] [30, 20, 10]

Solution

We can solve the problem with the help of recursion. It is quite hard to explain recursion, so I have created a recursion tree to demonstrate it.

Here is the code for the same.

When you run above program, you will get below output:

Permuations of array : [10, 20, 30] are:
=========================================
[10, 20, 30] [10, 30, 20] [20, 10, 30] [20, 30, 10] [30, 10, 20] [30, 20, 10]

I have illustrated how recursion is working here with below diagram.

Recursion permutation

You need to open this diagram in new window and zoom it.

As we have 3 elements in the array, that’s why we have 3 branches for each node.


Problem 2

Given array of integers(can contain duplicates), print all permutations of the array.


Solution

We can solve this using recursion as well but need to take care of duplicates.We will sort the array, so all duplicates will be conitguous.

Permuations of array : [10, 20, 10] are:
=========================================
[10, 10, 20] [10, 20, 10] [20, 10, 10]

That’s all about Permutations of array in java.

Was this post helpful?

Leave a Reply

Your email address will not be published. Required fields are marked *