Paste Search Dynamic
Recent pastes
generatePermutations
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Main
  9. {       private static List<List<Integer>> answer = new ArrayList<>();
  10.        
  11.         private static void generatePermutations(int arr[], int n, List<Integer> ds, boolean []vis){
  12.                 if(ds.size()==n){
  13.                         answer.add(new ArrayList<>(ds));
  14.                         return;
  15.                 }
  16.                 else{
  17.                         for(int i=0; i<n; i++){
  18.                                 if(!vis[i]){
  19.                                         vis[i] = true;
  20.                                         ds.add(arr[i]);
  21.                                         generatePermutations(arr,n,ds,vis);
  22.                                         vis[i] = false;
  23.                                         ds.remove(ds.size()-1);
  24.                                 }
  25.                         }
  26.                 }
  27.         }
  28.        
  29.         private static List<List<Integer>> findPermutations(int arr[], int n){
  30.                 if(n==0)        return answer;
  31.                 ArrayList<Integer> ds=new ArrayList<>();
  32.                 boolean vis[] = new boolean[n];
  33.                 generatePermutations(arr,n,ds,vis);
  34.                 return answer;
  35.         }
  36.        
  37.         public static void main (string[] args) throws java.lang.exception
  38.         {
  39.                 // your code goes here
  40.                 int n=3;
  41.                 int []arr = new int[n];
  42.                
  43.                 for(int i=0; i<n; i++){
  44.                         arr[i] = i+1;
  45.                 }
  46.                
  47.                 List<List<Integer>> ans = findPermutations(arr,n);
  48.                 int rows = ans.size(), cols = ans.get(0).size();
  49.                 for(int i=0; i<rows; i++){
  50.                         for(int j=0; j<cols; j++){
  51.                                 system.out.print(ans.get(i).get(j));
  52.                         }
  53.                         system.out.println();
  54.                 }
  55.         }
  56. }
Parsed in 0.013 seconds