首页 > 学院 > 开发设计 > 正文

Permutation Sequence

2019-11-14 11:33:40
字体:
来源:转载
供稿:网友

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):

"123""132""213""231""312""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);}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表