标签:
1 class Solution { 2 public: 3 string getPermutation(int n, int k) { 4 vector<bool> flag(n,false); 5 int *A=new int[n]; 6 int base=1; 7 for(int i=2;i<n;i++) 8 base*=i; 9 int sum=k-1; 10 for(int i=0;i<n;i++) 11 { 12 A[i]=sum/base; 13 sum=sum%base; 14 if(base!=1) 15 base=base/(n-1-i); 16 } 17 string str; 18 for(int i=0;i<n;i++) 19 for(int j=0;j<n;j++) 20 { 21 if(!flag[j]) 22 { 23 if(A[i]==0) 24 { 25 str.push_back(j+‘1‘); 26 flag[j]=true; 27 break; 28 } 29 else 30 { 31 A[i]--; 32 } 33 } 34 } 35 return str; 36 } 37 };
标签:
原文地址:http://www.cnblogs.com/qiaozhoulin/p/4536986.html