Advertisement
GokulDeep

Leet_Permu_Lex

May 27th, 2024
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.53 KB | None | 0 0
  1.   public static String s = "";
  2.  
  3.     public String getPermutation(int n, int k) {
  4.         int[] nums = generateArray(n);
  5.         backtrack(nums, 0, k);
  6.        
  7.         return s;
  8.        
  9.     }
  10.  
  11.     static int c = 0;
  12.  
  13.     private static void backtrack(int[] nums, int i, int k) {
  14.  
  15.         if (i == nums.length) {
  16.             if (++c == k) {
  17.                 for (int m : nums) {
  18.                     s += String.valueOf(m);
  19.                 }
  20.                 System.out.println(s);
  21.             }
  22.         }
  23.         for (int j = i; j <= nums.length - 1; j++) {
  24.             rtRotate(nums, i, j);
  25.             backtrack(nums, i + 1, k);
  26.             ltRotate(nums, i, j);
  27.         }
  28.        
  29.  
  30.     }
  31.  
  32.     public static void rtRotate(int[] array, int start, int end) {
  33.         reverse(array, start, end);
  34.         reverse(array, start, start);
  35.         reverse(array, start + 1, end);
  36.     }
  37.  
  38.     public static void ltRotate(int[] array, int start, int end) {
  39.         reverse(array, start, start);
  40.         reverse(array, start + 1, end);
  41.         reverse(array, start, end);
  42.     }
  43.  
  44.     private static void reverse(int[] array, int start, int end) {
  45.         while (start < end) {
  46.             int temp = array[start];
  47.             array[start] = array[end];
  48.             array[end] = temp;
  49.             start++;
  50.             end--;
  51.         }
  52.     }
  53.  
  54.     public static int[] generateArray(int n) {
  55.         int[] array = new int[n];
  56.         for (int i = 0; i < n; i++) {
  57.             array[i] = i + 1;
  58.         }
  59.         return array;
  60.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement