leetcode Permutation Sequence
2015-10-20 15:35
429 查看
Permutation Sequence
My SubmissionsQuestion
Solution
Total Accepted: 40746 Total
Submissions: 174549 Difficulty: Medium
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.
Show Tags
Show Similar Problems
Have you met this question in a real interview?
Yes
No
class Solution { public: string searchNum(vector<bool> &signal, int count, string res) { char temp; int i = 1; for (i; i < signal.size() && count >= 0; i++) { if (signal[i] == false) count--; } signal[i-1] = true; temp = i-1 + 48; res += temp; return res; } string getPermutation(int n, int k) { vector<int> njie; int count = 0; njie.push_back(1); vector<bool> nsignal; nsignal.push_back(false); for (int i = 1; i <= n; i++) { njie.push_back(njie[i - 1] * i); nsignal.push_back(false); } string result = ""; k--;//此处特别特别重要,因为所有的都是从0开始计算,所以k要减1 int q = n - 1; while (q>=0) { count = k / njie[q]; k = k%njie[q]; q--; result = searchNum(nsignal, count, result); } return result; } };
相关文章推荐
- 详细整理:UITableView优化技巧
- wcf 远程服务器返回了意外响应: (413) Request Entity Too Large。
- NSURLRequest POST方式请求
- 获取<meta-data>元素的value属性的值
- StringBuilder和StringBuffer区别
- easyui datagrid 诡异的无法显示问题
- 二、通过纯代码创建的UICollectionView的简单使用
- EasyUi Grid以POST方式传送参数绑定
- conn.setAutoCommit(true)和(false)的区别
- Ubuntu中crosstool-ng编译出错:[ERROR] gtype-desc.c:8829:18: error: subscripted value is neither array nor
- Android ui utils-简单实用的Android界面工具
- UE3代码阅读需知
- Druid使用说明
- Easyui 中 Tabsr的常用方法
- easyUI排序问题
- UINavgationViewController
- UITableview中的backgroundView
- 探秘Java中的String、StringBuilder以及StringBuffer
- Android build system & Android.mk 规范
- UIImageView显示问题