import java.util.*; class ArrayPermutationTwo { public void recurPermute(int index, int nums[], List> finalAnswer){ if (index == nums.length){ ArrayList ds = new ArrayList<>(); for(int i=0; i(ds)); return; } for (int i=index; i> permute(int[] nums) { List> finalAnswer = new ArrayList<>(); recurPermute(0, nums, finalAnswer); return finalAnswer; } } public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Input size System.out.print("Enter number of elements: "); int n = sc.nextInt(); int[] nums = new int[n]; // Input elements System.out.println("Enter elements:"); for (int i = 0; i < n; i++) { nums[i] = sc.nextInt(); } Solution obj = new Solution(); List> result = obj.permute(nums); // Print permutations System.out.println("Permutations:"); for (List perm : result) { System.out.println(perm); } sc.close(); } }