60. Permutation Sequence
2016-03-26 14:08
447 查看
//开始还考虑当这个n特别大,导致n!>int_max,然而k<int_max怎么办,后来发现题设没考虑这些边界条件,那就无所谓啦,直接解出来 class Solution { public: void get_kth(string &s,int factorial,int k,bool * flag,int n) { if(n==s.size()) return; int m=(k-1)/factorial+1; k-=(m-1)*factorial; for(int i=0;i<m;i++) { if(flag[i]) m++; } flag[m-1]=true; s.push_back(m+'0'); if(n!=s.size()) factorial/=(n-s.size()); get_kth(s,factorial,k,flag,n); } string getPermutation(int n, int k) { int factorial=1; for(int i=1;i<n;i++) factorial*=i;//(n-1)! string s; bool * flag=new bool ; memset(flag,false,sizeof(bool)*n); get_kth(s,factorial,k,flag,n); return s; } };
相关文章推荐
- Ant_的最完整build.xml解释
- uitableviewcell添加长按手势 并获取cell
- 《iOS Human Interface Guidelines》——Page Control
- PAT (Advanced Level) Practise 1101 Quick Sort (25)
- 获取TrueType字体信息
- TSQL生成Combguid
- PAT (Advanced Level) Practise 1099 Build A Binary Search Tree (30)
- POJ2524 Ubiquitous Religions(并查集)
- UIPanGestureRecognizer学习笔记
- 终于找到了梦想中的前端框架 --- vue.js
- java,二进制转换为十进制,valueof和parseInt的区别
- “ordinal type required”问题解决
- Orchard源码分析(5.3):EndRequest事件处理(DefaultOrchardHost.EndRequest方法)
- Orchard源码分析(5.2):BeginRequest事件处理(DefaultOrchardHost.BeginRequest方法)
- SystemConfig.getPropertyValue("test");配置文件已经加了test=abc,但是取得时候空字符串
- require.js 入门笔记
- UITabBarController 根视图控制器
- HDU Buildings
- String、StringBuffer和StringBuilder使用和区别
- 在storyboard中的静态UITableView中拖入 UISearchBar and Search Display Controller出现的奇怪问题