Permutation Sequence

来源:互联网 发布:淘宝客服外包怎么样 编辑:程序博客网 时间:2024/05/29 15:55

The set [1,2,3,…,n] contains a total of n! unique permutations.

By listing and labeling all of the permutations in order,
We get the following sequence (ie, for n = 3):

  1. "123"
  2. "132"
  3. "213"
  4. "231"
  5. "312"
  6. "321"

 

Given n and k, return the kth permutation sequence.

Note: Given n will be between 1 and 9 inclusive.

void visit(int n, int k, int pos, int &count, bool flag[], int result[]){if (count == k){return;}if (pos == n){count++;if (count == k){for (int i = 0; i < n; i++){cout << result[i];}cout << endl;}return;}for (int i = 0; i < n; i++){if (flag[i]){result[pos] = i+1;flag[i] = false;visit(n, k, pos+1, count, flag, result);flag[i] = true;}}}void fun(int n, int k){bool flag[n];memset(flag, true, sizeof(flag));int result[n];int count = 0;visit(n, k, 0, count, flag, result);}



0 0
原创粉丝点击