Leetcode 60 Permutation Sequence
发布时间:2020-12-13 21:14:23 所属栏目:PHP教程 来源:网络整理
导读: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 k th permutation
The set
By listing and labeling all of the permutations in order,
Given n and k,return the kth permutation sequence. Note: Given n will be between 1 and 9 inclusive. 输出长度为n的数字串字典序的第K个串。每位定下来以后,后面共有(n⑴)!个排列,应用这个特点反复减k,让k去逼近1。 class Solution {
public:
string getPermutation(int n,int k) {
int mp[10];
mp[0]=mp[1]=1;
vector<int> v(1,1);
for(int i=2;i<10;i++)
{
mp[i]=mp[i⑴]*i;
v.push_back(i);
}
string result;
while(n--)
{
vector<int>::iterator it=v.begin();
while(k>mp[n])
{
k-=mp[n];
it++;
}
result+=('0'+*it);
v.erase(it);
}
return result;
}
}; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |