您的位置:首页 > 产品设计 > UI/UE

leetcode Permutation Sequence

2014-10-06 11:42 357 查看
此题参考 http://www.cnblogs.com/tenosdoit/p/3721918.html
代码

class Solution {
public:
string getPermutation(int n, int k) {
string str = string("123456789").substr(0,n);
string res(n,' ');
for(int i = 0; i < n; ++i)
res[i] = getPermutationHelper(str, k);
return res;
}

char getPermutationHelper(string &str, int &k)
{
int temp = factorial(str.size()-1);
int i = (k-1)/temp;
char res = str[i];
str.erase(i,1);
k = k - i*temp;
return res;
}

int factorial(int n)
{
int res = 1;
for(int i = 2; i <= n; ++i)
res *= i;
return res;

}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: