Permutation Sequence
来源:互联网 发布:淘宝自定义页面优惠券 编辑:程序博客网 时间:2024/05/22 00:26
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.
class Solution {public:void backtrace(string &ans, vector<int> &flag, vector<int> fac, string &str, int s, int k, int n){if(s == n){ans = str;return;}s++;int x;x = (k - 1) / fac[n - s];int t = 0;int i;for(i = 0; i < n; i++){if(!flag[i]){if(t >= x){flag[i] = 1;break;}t++;}}if(i == n){return;}str += ((i + 1) + '0');k = k - x * fac[n - s];backtrace(ans, flag, fac, str, s, k, n);} string getPermutation(int n, int k) { // Start typing your C/C++ solution below // DO NOT write int main() function string ans;vector<int> fac(n, 1);fac[0] = 1;for(int i = 1; i<n; i++){fac[i] = fac[i - 1] * i;}vector<int> flag(n+1, 0);int index = 0;string str="";backtrace(ans, flag, fac, str, 0, k, n);return ans; }};
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- Permutation Sequence
- python学习-SVN常用命令
- Lttng
- 【重温】_Struts2重温笔记,要点概述_【一】
- SMIL彩信无法显示的缘故
- jquery easyui滚动条部分设置介绍
- Permutation Sequence
- [小说]魔王冢(55)用意
- wince 隐藏状态栏
- Xcode 4.5.2 + iOS 6.0免证书(iDP)开发+真机调试+生成IPA全攻略
- 图解修改VC++6.0 MFC控件风格为XP风格
- hdu 4419 Colourful Rectangle(扫描线)
- i9250 4.2.1完美root方法,简单有效!
- POJ 1088 滑雪
- Oracle数据库表的字段添加注释和向现有表添加字段