leetCode_Permutation Sequence
来源:互联网 发布:西安科技大学考研 知乎 编辑:程序博客网 时间:2024/05/18 00:13
题意:在集合[1,2,...,n]中找出第k个组合序列
思路:相当于把每个组合序列编号,从最高位开始,看看每一位能填几。
代码如下:
string getPermutation(int n, int k){ vector<int> f; bool isUsed[10]; int i,j,t,m; string ans; f.push_back(1); j=1; for(i=1; i<=8; i++) { j=j*i; f.push_back(j); } for(i=1; i<=n; i++) isUsed[i]=false; for(i=1; i<=n; i++) { for(j=n-1; i>=0; j--) { if(k>j*f[(n-i)])//要注意是j*f[(n-i)]不是f[j]*(n-i) { k-=j*f[(n-i)]; j++; break; } } m=0; for(t=1; t<=n; t++) { if(isUsed[t]==false) m++; if(m==j) { isUsed[t]=true; break; } } switch(t) { case 1: ans+="1"; break; case 2: ans+="2"; break; case 3: ans+="3"; break; case 4: ans+="4"; break; case 5: ans+="5"; break; case 6: ans+="6"; break; case 7: ans+="7"; break; case 8: ans+="8"; break; case 9: ans+="9"; break; default: break; } } return ans;}
0 0
- LeetCode_Permutation Sequence
- leetCode_Permutation Sequence
- Leetcode_permutation-sequence(c++ and python version)
- sequence
- SEQUENCE
- Sequence
- sequence
- sequence
- Sequence
- sequence
- sequence
- sequence
- Sequence
- Sequence
- Sequence
- Sequence
- sequence
- sequence
- webstorm快捷键
- 长按手势获取UITableView的indexPath值,删除某行
- Two Sum--leetcode
- Win7 64位环境下,vs2013和Opencv2.4.13的配置
- 实习过程中常用到的 技巧(1)
- leetCode_Permutation Sequence
- NOIP 2012 Day1 T3 开车旅行
- [AIR]批量修改目录中图片的操作方式
- LED发光管实验报告
- AOE网关键路径的算法,最最最最直接的算法,一学就会
- NOIP 2014 Day2 T1 无线网络发射器选址
- java获取项目访问路径方法
- Boostrap 按钮
- apache + php + mysql windows配置